以下の内容はhttps://www.weblio.jp/content/batより取得しました。


実用日本語表現辞典実用日本語表現辞典

bat

別表記:バット

「bat」とは、野球クリケットなどのスポーツ用具であるバットのことを意味する表現である。

「bat」とは・「bat」の意味

「bat」は、名詞動詞使われる単語である。名詞では野球クリケットなどのスポーツ打者ボールを打つための「バット」を意味する他、これらのスポーツから派生したコークボールやペサパッロなどの競技ボールを打つ道具バットと呼ぶ。動詞としても「打つ」というスポーツ関連使われることが多く例文としては「bat the ballボールを打つ)」のような表現となる。

また、batは同音異義語として動物の「コウモリ」を意味する単語でもある。コウモリはその顔がキツネ似ていることから「flying fox(飛ぶキツネ)」という別称もあるが、batは一般的に見られる小さコウモリを指す場合に使う単語で、flying fox両翼広げると1mを超えるような熱帯地方生息している大型コウモリを指すことが多い。

なお、batにはスラングとして気が触れる」「イカレた」のような意味もある。これは古い言い回しの「鐘楼コウモリbats in the belfry)」が元で、教会屋根の上にある鐘を人の頭に例え、鐘の中で外に出られ飛び回っているコウモリのように、頭の中が混乱した状態を表わしている。「He's bat.(彼はイカレている)」のように使う。

「bat」の発音・読み方

「bat」の発音記号は「bǽt」で、「ǽ」は「ア」と「エ」の中間音で口を広げながら「ア」と発音する。「t」は「ト」で打ち切るではなく語尾小さい「ゥ」が付く感じになるため、発音すると「バァト(ゥ)」のように聞こえる。カタカナ表記では「バット」。

「bat」の語源・由来

「bat」の語源インドヨーロッパ祖語で「打ち付ける」を意味する「*bhat-」で、ラテン語の「叩く」を意味する「battuere」に変化し古英語batt」を経てbatとなった

「bat」を含む英熟語・英語表現

「right off the bat」とは


ネイティブ間でよく使われるフレーズで、「即座に」や「直ちに」を意味する表現バット当てたボールはすぐにバット離れることを表わしており、「We hit it off right off the bat.(私たちはすぐに意気投合した)」のように使う。ニュアンス使い方は「immediately」同じ。

「do not bat an eye」とは


びくともしない」「動揺した様子がない」を意味する表現で、話し言葉でよく使われるフレーズ。「He didn’t bat an eye.(彼は顔色ひとつ変えなかった)」のような表現となる。

「bat」に関連する用語の解説

「Batファイル」とは


MS-DOS環境において、実行させたい複数コマンドをひとつにまとめたテキストファイルのこと。ファイル拡張子が「.bat」なので「batファイル」と呼ぶが、読み方は「バッチファイル」が一般的

「bat (中国企業)」とは


中国IT業界大きな影響力を持つ3社「Baiduバイドゥ百度)」「Alibabaアリババ阿里巴巴集団)」「Tencentテンセント騰訊)」の頭文字取った名前のこと。アメリカ大手IT企業を指すGAFAGoogleAmazonFacebookApple)に対抗して命名された。

「bat(仮想通貨)」とは


2020年上場したWebブラウザBrave上で使用される仮想通貨のこと。「Basic Attention Token」の略称。Web広告活用するなど、従来仮想通貨とは異な特徴持っている

「British American Tobacco Japan(タバコの会社名)」とは


世界的に人気タバコケント」や「ラッキーストライク」「ダンヒル」などを扱うイギリス企業British American Tobacco」の日本法人のこと。

「BAT」の略とは


頭文字が「B・A・T」になる、さまざまな定義のこと。企業など環境対策基準である利用可能最善の手法(Best Available Technology)や、イギリス領南極地域British Antarctic Territory)、血中アルコール検査Blood Alcohol Test)など、さまざまな意味の略語がある。

「bat」の使い方・例文

「bat」はスポーツ関連したバット」や「打つ」の意味として使われることが多い単語である。例文としては「You need a bat and ball to play baseball.(野球をするにはバットボール必要だ)」、「He is the next at bat.(次に打つのは彼だ)」のような表現となる。

デジタル大辞泉デジタル大辞泉

バット【bat】

読み方:ばっと

野球などで、球を打つ木製または金属製の棒。

卓球で、ラケットのこと。


バット【bat】

読み方:ばっと

蝙蝠(こうもり)。


バット【Bat】


バット【BAT】


バトゥ【Bat】

読み方:ばとぅ

[1207〜1255]キプチャク‐ハン国の祖。チンギス=ハンの孫。父ジュチ死後所領継承1236年から1242年まで西征軍率いてヨーロッパ脅かしロシア全土平定ボルガ川下流サライを都としてハン国建てた

[補説] 「抜都」とも書く。


拡張子辞典拡張子辞典

.bat


独立行政法人科学技術振興機構独立行政法人科学技術振興機構

グリピン

分子式C22H25NO3
その他の名称グリキン、トロピンベンジラート、BAT、BTE、BETE、Glykin、Tropine benzylate、α-Hydroxy-α-phenylbenzeneacetic acid (1R,5S)-tropan-3α-yl ester、グリピン、Glipin、ベンジル酸トロパニル、Tropanyl benzilate、(1β,5β)-3α-[(Hydroxy)diphenylacetoxy]-8-methyl-8-azabicyclo[3.2.1]octane
体系名:2-ヒドロキシ-2,2-ジフェニル酢酸(1β,5β)-8-メチル-8-アザビシクロ[3.2.1]オクタン-3α-イル、α-ヒドロキシ-α-フェニルベンゼン酢酸(1R,5S)-トロパン-3α-イル、(1β,5β)-3α-[(ヒドロキシ)ジフェニルアセトキシ]-8-メチル-8-アザビシクロ[3.2.1]オクタン


日外アソシエーツ株式会社日外アソシエーツ株式会社

Bat

名前 バット

ウィキペディアウィキペディア

BAT

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/12 11:39 UTC 版)

BAT, bat

単語全体

省略形

単語の省略形が「bat」。

頭字語

頭字語が「BAT」。


B・A・T

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/08/01 11:41 UTC 版)

B・A・T(BLOOD-A-TYPES)
基本情報
ジャンル ロック
ロカビリー
ガレージ・ロック
活動期間 1986年 - 1988年
レーベル 1987年6月25日、アルファレコード

B・A・T(BLOOD-A-TYPES)は1986年から1988年にかけて活動した日本のロカビリーバンド

概略

1986年に元BLACK CATSのメンバーの久米浩司と久米良昌兄弟が中心となり、ボーカル&ギターに砂川雅由をメンバーに加えB・A・T(BLOOD-A-TYPES)を結成。

1987年6月25日、アルファレコードより、シングルA面「DANCE」(作詞:大津あきら、作曲:中村裕介)、B面「KNOCKIN'DOWN」(作詞・作曲:砂川雅由)でレコードデビュー。久米兄弟が経営­する本牧KOOL KATSという店を本拠に、新宿ACB、渋谷LIVEIN、芝浦インクスティック、名古屋レイボーホールなどでライブ活動、ラジオやTV出演などを開始。1988年に解散。

2010年9月、当時の未発表音源集をあつめたアルバム「KOOL KAT 〜 本牧RE-BOP」を発売。かつて発売を予定していたアルバム用のデモ録音7曲と、公開FMスタジオライブから4曲、山口憲一加入後の豊橋でのライブから2曲の全13曲入りからなる。

メンバー

  • 砂川雅由 ボーカル&ギター(SCATS、SEA DRAGON、Don Carlos)
  • 久米良昌 1代目ギター(BLACK CATS
  • 神山サトル2代目ギター
  • 山口憲一 3代目ギター(MAGICRODEOwface
  • 高橋琢実 ベース(MAGIC)
  • 久米浩司 ドラムス(BLACK CATS、MAGIC、RODEO)

作詞・作曲砂川雅由(Don Carlos)

  • かたなしPLAYBOY
  • KOOL KAT BOOGIE
  • BAD GIRL FRIEND
  • ごきげんCATS
  • エブリディズ
  • Wedding Bell in My Home Town
  • おしえてダディ
  • つるカメ松竹梅ごぶマメ鯛
  • Crazy Lazy Heart ※
  • ジャックナイフを握り締めて
  • SO LONG
  • 不良伝説

※=(作曲久米浩司)


バッチファイル

(bat から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/10/23 05:16 UTC 版)

BAT
拡張子 .bat, .cmd (Windows NT)
MIMEタイプ application/x-bat
種別 スクリプト言語
テンプレートを表示

バッチファイル: batch file)とは、DOSOS/2Windowsでのコマンドラインインタプリタシェル)に実行させたいコマンド(指令または命令)列をテキストファイルに記述したもの。バッチファイルを実行すると、シェルプログラム(一般にCOMMAND.COMcmd.exe)がそのファイルを読み、その中のコマンドを(通常)一行ずつ実行する[注釈 1]。バッチファイルはUNIXおよびUnix系オペレーティングシステムシェルスクリプトに相当する。主に複数の処理をまとめて記述しておき、繰り返し実行するバッチ処理のために用いられる。

DOSのバッチファイルの拡張子.BATである。他の環境のバッチファイルの拡張子は様々である。例えば、Windows NTOS/2では.CMDが使われており[1]4DOS英語版というフリーウェアでは.BTMが使われている。

AUTOEXEC.BATブート処理の中で実行される特別なバッチファイル(自動実行バッチファイル)である。

歴史

マイクロソフトのDOSとWindowsのバッチプログラミングはこれらのオペレーティングシステム (OS) 製品のリリースとともに発展してきた。これらのOSに付属するコマンドインタプリタは2つの動作モードを持つ。1つは対話モード(コマンドプロンプトに従ってユーザーがコマンドを入力すると即座に実行される)、もう1つはバッチモード(あらかじめ設定されたコマンド列を実行する)である。どちらのモードもUNIXのシェルや1980年代初期のCP/Mなどのコマンドインターフェイスがその考え方のベースとなっている。

DOSのバッチプログラム用インタプリタはCOMMAND.COMである。DOS用バッチプログラムのうち比較的単純なコマンドはCOMMAND.COM自身が処理し(内部コマンド)、複雑なものは別の実行ファイルを呼び出して処理する(外部コマンド)。この系統のバッチプログラミングDOSからWindows 95Windows 98Windows MeWindows 9x系)まで発展していった。

Windows 2000およびWindows XP以降はDOSではなくWindows NTに基づいている。この系統(Windows NT系)ではcmd.exeというコマンドラインインタプリタ(コマンド行インタプリタ)が使われ、COMMAND.COMとはある程度の互換性がある。DOSのいくつかの機能が削除されているが、DOSやDOSベースのWindowsにはない新たな機能も多く追加されている。互換性維持のためCOMMAND.COMも未だに搭載されている。なお、cmd.exeに対しては「コマンド プロンプト」という名前のショートカットが既定で作成されており、便宜上GUIに表示される名前としても各所で使用されているが、一般的な技術用語のコマンドプロンプトとは別物である。cmd.exeで利用可能なコマンドは「Windowsコマンド」とも呼ばれる[2]

2006年には.NET Frameworkを基盤に動作する、モダンなオブジェクト指向のシェル環境としてWindows PowerShellがリリースされた。Windows PowerShellではdirなどの従来のWindowsコマンドに対するエイリアスが用意されており、完全ではないがある程度の互換性がある。のちにPowerShellはWindows以外の環境にも.NET Core/.NETベースで移植され、クロスプラットフォームとなっている。

代表的なコマンド

以下ではWindows NT系のcmd.exeで利用できるWindowsコマンドの仕様に従って解説する。構文規則において、[]で囲まれたものはオプション(省略可能)であることを意味する。詳しくは公式リファレンスを参照のこと[3]/?オプションを付けてコマンドを実行することで、そのコマンドのヘルプを表示することもできる。

BASICPascalに代表される古いプログラミング言語や、DOSおよびWindowsなどのファイルシステムではアルファベットの大文字・小文字を区別しない仕様となっている影響から、バッチファイルもほとんどの場面で大文字・小文字を区別しない。歴史的な経緯から、ヘルプのメッセージ内ではコマンド名やオプション名が大文字アルファベットで表記されているが、本記事では引用を除いて小文字アルファベットで記載するものとする。

echo

echoコマンドは標準出力にメッセージを表示する。メッセージ文字列をダブルクォーテーションやシングルクォーテーションなどで囲む必要はない。

また、echo onおよびecho offでコマンドエコーのON/OFFを切り替えることができる。コマンドエコーは既定でONになっており、各コマンド行を実行する前に標準出力にその内容を表示する[4]。この動作は通常必要とされないので、echo off コマンドをバッチファイルの最初に記述してそれを防ぐ。しかし、そのままでは echo off コマンド自体は表示されてしまう。単価記号 @ をコマンド行の先頭に置くと、その行は表示されないようになっているので、多くのバッチファイルには @echo off という行が先頭にある。

rem

コメント行はremで始める。remもコマンドの一種である[5]。コメントや注釈を意味するremarkの略[6]で、BASIC系言語のremステートメントと類似のものである。

cls

テキスト画面をクリア(消去)し、ウィンドウを既定の状態にする[7]

color

テキスト画面の背景色と前景色を変更する[8]。16進数の0からfまで全16色のカラーコードが割り当てられており、引数として背景色と前景色を2桁の16進数で指定する。1桁の16進数を指定した場合、前景色として使われ、背景色は既定値となる。背景色と前景色に同じ値を指定した場合は失敗する。引数を指定しなかった場合、背景色と前景色が既定値にリセットされる。

call

引数で指定した別のバッチファイルや、引数で指定したラベルを持つプログラム(サブルーチン)を呼び出し、制御を移す[9]

if

多くの汎用プログラミング言語における条件分岐構文の1つとしてif文があり、バッチファイルでもifコマンドとしてサポートされている[10]

基本構文:

if [not] ERRORLEVEL <number> <command> [else <expression>]
if [not] <string1>==<string2> <command> [else <expression>]
if [not] exist <filename> <command> [else <expression>]

拡張構文:

if [/i] <string1> <compareop> <string2> <command> [else <expression>]
if CMDEXTVERSION <number> <command> [else <expression>]
if defined <variable> <command> [else <expression>]

既定では条件が真の場合にサブコマンドを実行するが、notを指定すると条件が偽の場合にサブコマンドを実行する。

ERRORLEVELは直前のコマンドの実行結果(終了ステータス)を格納しているシステム環境変数の1つであり、通例0が正常終了を、それ以外が異常終了(エラーコード)を意味する[11]ifコマンドの基本構文では後続指定する<number>の値以上である場合に真となる。

existは後続指定するファイルが存在するかどうかをテストし、存在する場合は真となる。

カレントディレクトリに test.txt というファイルが存在するかどうかに応じて処理を分岐する。存在する場合は拡張子.txtが関連付けられているアプリケーションソフトウェアで開く。

if exist test.txt (
  echo test.txt が見つかりました。
  test.txt
) else (
  echo test.txt が見つかりません。
)

for

C言語を代表とする多くの汎用プログラミング言語ループ構文の1つとしてfor文をサポートするが、バッチファイルのforコマンドはforeach文に相当する。もともとファイルやディレクトリ(フォルダー)やテキスト文字列の集合(set)の中から各要素に対して指定コマンド(サブコマンド)を実行するものであるが、数値の範囲を指定することもできる[12]

基本構文:

for {%%|%}<variable> in (<set>) do <command> [<commandlineoptions>]

ここで、<variable>forコマンド専用の変数であり、アルファベット1文字のみが利用可能である。大文字と小文字は区別される。正規表現で書くならば、許可される文字は[A-Za-z]となる。forコマンドをコマンドラインシェル上で直接実行する場合は%iのようにパーセント記号を1つだけ使う。バッチファイル内に記述する場合は%%iのようにパーセント記号を2つ使う。

<set>にはファイルのグループを1つ以上指定することもできる。ワイルドカード(*および?)を利用することもできる。以下は有効な集合の例である。

(*.txt)
(*.txt *.png *.docx)
(2024_01_??.log)

<commandlineoptions>はサブコマンド<command>に対するオプションである。

コマンド拡張

forの直後にスペースを空けて、forコマンド自体に対するいくつかの拡張オプションを指定することも可能である。

ディレクトリのみ

ファイルではなくディレクトリのみを対象とする。

for /d {%%|%}<variable> in (<set>) do <command> [<commandlineoptions>]
再帰

サブディレクトリも対象にする。

for /r [[<drive>:]<path>] {%%|%}<variable> in (<set>) do <command> [<commandlineoptions>]
値の範囲で反復

変数の値を開始値<start#>と終了値<end#>の間でステップ量<step#>だけ変化させながら、指定コマンドを反復実行する。

for /l {%%|%}<variable> in (<start#>,<step#>,<end#>) do <command> [<commandlineoptions>]

まず変数に開始値が代入され、指定コマンドが実行される。次に変数の値をステップ量だけ変化させ、再び指定コマンドを実行する。ステップは正の数だけでなく負の数も指定可能である。ステップが正のとき、変数の値が終了値より大きくなった場合は指定コマンドを実行せず終了する。ステップが負のとき、変数の値が終了値より小さくなった場合は指定コマンドを実行せず終了する。

cd

指定したディレクトリを「カレントディレクトリ」として設定する。便宜上の概念から、指定ディレクトリに「移動する」とも言われる。相対パスは、cdで設定したカレントディレクトリを基準に扱われるようになる。引数を指定しなかった場合、カレントディレクトリのフルパスを出力する。

dir

指定したディレクトリの中のファイルおよびサブディレクトリのリストを表示する[13]。引数を指定しなかった場合はカレントディレクトリが対象となる。オプションを設定することで、条件に合致する特定のファイルのみ表示することもできる。

このコマンドとリダイレクトを使ってテキストファイル形式のファイルリストを作ることなどもできる。

shift

バッチファイルにおいて、バッチ引数の位置を変更する[14]

バッチファイルをコマンドラインシェルから実行する際は10個以上の引数を指定することもできるものの、バッチファイルからは%0 - %9の範囲の引数しか扱えない仕様となっている(%0はバッチファイルの名前を表すため、実質的には9個の引数が使用可能)。

shiftコマンドによって、引数の値が1つ前の引数にコピーされる。つまり%1の値は%0にコピーされ、%2の値は%1にコピーされる。これにより、バッチファイルで疑似的に10個以上の引数を扱えるようになる。

オプションとして/nがあり、シフトを開始する引数の番号を指定できる。nには0から8までの番号を指定できる。例えばshift /2%3%2に、%4%3にシフトするが、%0%1は変更されない。

起動コマンド行:

test.bat ar1 ar2 ar3 ar4 ar5 ar6 ar7 ar8 ar9 ar10

バッチファイル test.bat の内容:

@echo off
echo 第 0 引数は %0 です。
echo 第 9 引数は %9 です。
shift
echo 引数の位置を変更しました。
echo 第 0 引数は %0 です。
echo 第 9 引数は %9 です。

出力:

第 0 引数は test.bat です。
第 9 引数は ar9 です。
引数の位置を変更しました。
第 0 引数は ar1 です。
第 9 引数は ar10 です。

set

「cmd.exe環境変数」を表示・設定・削除する[15]。引数なしでsetコマンドを実行した場合、現在設定されている環境変数の一覧を表示する。

基本構文:

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

cmd.exe環境変数は、システム環境変数やユーザー環境変数とは異なり、起動中のcmd.exeのインスタンスおよびそこから起動した子プロセスにのみ影響する一時的な環境変数である。

動的な環境変数

set /?で表示されるヘルプには、動的な環境変数に関する注意事項が記載されている。

コマンド拡張機能が有効な場合、SET によって表示される変数の一覧には現れないいくつかの動的な環境変数があります。 これらの変数の値は、変数の値が展開されるときに動的に計算されます。 ユーザーがこれらの名前の変数を明示的に定義する場合、その定義は下記の動的な定義を無効にします。

続いて列挙される動的な環境変数とその説明文(日本語版)の引用を以下に記載する。

環境変数 説明文 備考
%CD% 現在のディレクトリ文字列に展開します。 カレントディレクトリを表す。cdコマンドなどで変更可能。
%DATE% DATE コマンドと同じフォーマットで現在の日付に展開します。 システム時刻に依存する。dateコマンドでも変更可能。既定の表示形式はシステム設定に依存する。
%TIME% TIME コマンドと同じフォーマットで現在の時刻に展開します。 システム時刻に依存する。timeコマンドでも変更可能。既定の表示形式はhh:mm:ss.msであるが、時間 (hour) 部分が1桁台の間は先頭がゼロではなく空白となる。
%RANDOM% 0 から 32767 の間の任意の 10 進数に展開します。 疑似乱数を生成する[注釈 2]
%ERRORLEVEL% 現在の ERRORLEVEL の値に展開します。 直前のコマンドが正常終了したか、または異常終了したかを整数値で表したもの。0が正常終了で、それ以外が異常終了である[注釈 3]。通例ifコマンドと組み合わせて使う。
%CMDEXTVERSION% 現在のコマンド プロセッサ拡張機能のバージョン番号に展開します。 通例ifコマンドと組み合わせて使う。
%CMDCMDLINE% コマンド プロセッサを起動したオリジナル コマンド ラインに展開します。 -
%HIGHESTNUMANODENUMBER% このコンピューター上の最大の NUMA ノード番号に展開します。 詳細はNUMAアーキテクチャのシステムサポートに関する情報を参照のこと[22][23]

これらの環境変数の値をsetコマンドで変更することはできない。新たに同名のcmd.exe環境変数が生成され、動作がオーバーライド(上書き)されてしまうだけである。

setlocal/endlocal

setコマンドで作成する変数はcmd.exe環境変数であり、既定でグローバル変数のような性質を持つ。つまり、バッチファイル内のどこからでもその変数にアクセスすることができてしまい、またcmd.exeのインスタンスが生き残っている限り、バッチファイルの終了後もその変数が維持されてしまう。特定のバッチファイル内限定、あるいはサブルーチンのような一部の領域でのみ使用することが想定されている変数は、事前にsetlocalコマンドを実行しておくことでローカル変数とすることができる[24]

また、endlocalコマンドを使用することで環境変更のローカル化を終了し、対となるsetlocalコマンドが実行される前の環境変数の状態を復元することができる[25]

環境変数の遅延展開

以下のように環境変数をifコマンドの中で書き換えるケースを考える。

set my_variable=100
echo [1] my_variable is %my_variable%
if %my_variable%==100 (
  set /a my_variable+=1
  echo [2] my_variable is %my_variable%
)
echo [3] my_variable is %my_variable%

実行結果:

[1] my_variable is 100
[2] my_variable is 100
[3] my_variable is 101

my_variableの値はifコマンドの実行後には確かに書き換わっていることが確認できるが、ifコマンドの実行中に(サブコマンドグループの実行中に)参照すると、直感に反して書き換え前の値が出力されてしまう。これは、環境変数の展開が、既定では各コマンド行の解析時に一度だけ実行されるモードになっているからである[26]

事前にsetlocal enabledelayedexpansionコマンドを実行し、かつ%の代わりに!を使って環境変数を囲むことで、環境変数を実行時に(サブコマンドによって実際に参照されるタイミングで)遅延展開することが可能となる。

set my_variable=100
echo [1] my_variable is %my_variable%
if %my_variable%==100 (
  set /a my_variable+=1
  @rem 環境変数の遅延展開を有効化する。
  setlocal enabledelayedexpansion
  echo [2] my_variable is !my_variable!
  endlocal
)
echo [3] my_variable is %my_variable%

実行結果:

[1] my_variable is 100
[2] my_variable is 101
[3] my_variable is 101

拡張子による動作の違い

Windows NT系では.cmdだけでなく従来の.batもバッチファイルの拡張子として使用可能だが、動作に微妙な差がある。

以下のコマンドを記述したバッチファイルがあるとする。実行すると、setlocalは成功して環境変数ERRORLEVEL0に設定され、color 00は失敗して環境変数ERRORLEVEL1に設定され、set my_variable=100は成功する。

@echo off
setlocal
echo ErrorLevel is %ERRORLEVEL%
color 00
echo ErrorLevel is %ERRORLEVEL%
set my_variable=100
echo ErrorLevel is %ERRORLEVEL%
endlocal

拡張子を.cmdとした場合の実行結果:

ErrorLevel is 0
ErrorLevel is 1
ErrorLevel is 0

拡張子を.batとした場合の実行結果:

ErrorLevel is 0
ErrorLevel is 1
ErrorLevel is 1

最後の出力結果に違いが生じる原因は、.cmdではsetコマンドは成否にかかわらず常にERRORLEVELを変更し、成功した場合はERRORLEVEL0にリセットされるのに対し、.batではsetコマンドは失敗した場合にのみERRORLEVELを変更する動作となるからである[27]。つまり、.cmdのほうがいくらか安全な動作をする。.batの動作は直感的ではなく、驚き最小の原則に反しているといえる。ただし、このルールに従わないコマンドもいくつかあり、例えばechoremは、成否およびバッチファイルの拡張子によらず常にERRORLEVELを変更しない。

  • 単純なバッチファイルの例:
@echo off
cls
echo.
echo Hello World, press any key to start AProgram.exe!
pause > nul
AProgram.exe
echo.
echo AProgram has finished whatever it was doing. Have fun today!

画面出力:

Hello World, press any key to start AProgram.exe!

AProgram has finished whatever it was doing. Have fun today!
@echo off
echo Hello world!!
pause > nul

画面出力:

Hello world!!
3の倍数ならFizz、5の倍数ならBuzz、15の倍数ならFizz Buzzと表示し、FizzBuzz.txt に結果を出力
@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
if exist %cd%\FizzBuzz.txt del %cd%\FizzBuzz.txt
for /l %%i in (1,1,100) do (
set echo=
set /a f=%%i%%3,b=%%i%%5
if !f!==0 set echo=!echo!Fizz
if !b!==0 set echo=!echo!Buzz
if "!echo!"=="" set echo=%%i
echo !echo!>>%cd%\FizzBuzz.txt
)

画面出力:なし

  • FFmpegでエンコード バッチファイルの置かれたディレクトリを終了するまで10秒おきに監視して、tsファイルを発見次第バッチファイルと同じフォルダに置かれたffmpeg.exeでmp4にエンコードしたあと、元のファイルを削除する。 エンコードされたファイルが既に存在する場合は上書きする。
    echo off
    cd %~dp
    :loop
    for %%i in (*.ts) do (
     call :encode %%i%
    )
    timeout 10
    goto :loop
    
    :encode
    ffmpeg.exe -i "%1" -vf bwdif=1 -c:v libx264 -c:a copy -bsf:a aac_adtstoasc ^
    -preset fast -aspect 16:9 -b:v 5500k -y "%~n1.mp4"
    del %1
    exit /b
    
    まず、forループでファイルが有るかどうかチェックする。見つかったファイルは:encodeというサブルーチンに渡される。これはエンコード後のファイル名をつける際の%~n1で元のファイルのファイル名だけを抽出する必要があるからだ。 encodeの中でファイルをffmpegに渡してエンコードし、その後delコマンドでファイルを削除したら、サブルーチンが終了し、メインルーチンに戻る。tsファイルがまだ残っていれば再びエンコードする。なければforループから抜け出し、10秒間待機する。再びtsファイルを発見すると順次エンコードする。

互換コマンドインタプリタ

マイクロソフト以外が提供するコマンドインタプリタにも様々なコマンドインタプリタがあり、強化された機能を提供している。4DOS英語版 はその一例である。

バッチプログラムを実行ファイルに変換するコンパイラもマイクロソフト以外からいくつか登場しているが、その品質は様々である。

IBMのOS/2オペレーティングシステムもマイクロソフトのOSと似たようなテキストベースのコマンド機能を持っている。

脚注

注釈

  1. ^ waitforコマンドを使えば同期処理ができる。
  2. ^ 32767は16ビット符号付き整数の最大値でもある。Microsoft Visual C++標準Cライブラリの実装では、rand()関数が返しうる最大値RAND_MAX0x7fffすなわち32767となっている[16][17]。これは16ビット時代からの名残で、rand()関数の戻り値int32ビット化されたWin32以降の環境であっても変わっていない。
  3. ^ 標準コマンドは、失敗したときにエラーコードとして12などを返す仕様となっているものが多い[18]。これらの多くはMicrosoft Windows SDK付属のヘッダーファイル<WinError.h>で定義されているエラーコードと一致する[19]。なお、C/C++で書かれるサードパーティ製のコンソールアプリケーションでは、プログラムの異常終了時にexit()関数の引数に-1を指定するか、main()関数からreturn文-1を返すように実装されることがあるが、これは0でない値のひとつとして-1を使っているだけであり、特に一般的というわけではない。exit()関数の引数やmain()関数の戻り値として使われるステータスコードEXIT_FAILUREの値は、規格上は実装定義[20]であり、Visual C++の実装では1として定義されている[21]

出典

関連項目


ウィキペディアウィキペディア

BAT

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/02 00:38 UTC 版)

ビッグ・テック」の記事における「BAT」の解説

BAT(バット)は、百度バイトダンスアリババテンセントの4社で構成される近年ではアメリカGAFAFANG対抗し中国4大IT企業を指す言葉として、Huawei加えたBATHバス)、Xiaomi加えたBATX(バットエックス)、京東商城加えたBATJ(バットジェイ)が用いられることもある。この言葉日本ではまだ馴染み薄く多用されることは少ないが、近年新聞テレビなどの主要メディアで使用される機会増えている。LINEZホールディングス経営統合にも、GAFAとともに影響与えたとされ、日本国内大企業にも影響与えている。

※この「BAT」の解説は、「ビッグ・テック」の解説の一部です。
「BAT」を含む「ビッグ・テック」の記事については、「ビッグ・テック」の概要を参照ください。

ウィキペディア小見出し辞書の「bat」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

辞典・百科事典の検索サービス - Weblio辞書辞典・百科事典の検索サービス - Weblio辞書

「bat」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。




以上の内容はhttps://www.weblio.jp/content/batより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14