Windows:バッチファイル
コマンドプロンプトで実行できるコマンドをまとめて書いたファイル
非常に古くから使われている
一括処理に便利
定型作業の自動化
複雑な処理は困難
「引用符」がちゃんと使える形にはなっていないので、 文字列変数、コマンドのパラメータ等に関する制限がある。
while 文、switch 文がないので、if, goto に頼りがちになり、 スパゲッティ化しやすい。
フィルタやバッチファイル用に用意されているコマンドが少ない。
ヒアドキュメントが書けない。
長いコマンドを複数行に分けて書けない。
変数
環境変数の値を利用するときは、変数名を % で囲んで %[変数名]% となる
変数の一覧
$ set
変数の設定
変数の削除
局所変数 %[変数名]
式
( ) (カッコ)
! (論理反転)、~ (ビット反転)、- (符号反転) の 単項演算子
*, /, +, -, % 等の四則演算子 (% は剰余)
C言語と同等の <<, >>, &, ^, | 等のビット演算子
制御構造
if 文
for 文
指定リスト分だけ実行
code:bat
..........
)
単調な整数リストに対して実行 (C 言語の for 文似)
code:bat
..........
)
テキストファイルの各行に対して実行
code:bat
..........
)
goto 文
コメント行
$ rem
表示
表示しない
$ @echo off
表示する
$ @echo on
強制終了
exitはcmd.exeそのものを終了させるコマンドなので、基本的にそのままは使わない
一時停止
code:bat
pause > nul
入力待ち
別バッチファイルの呼び出し
日本語の扱い
シフトJIS(Shift_JIS) と ユニコード(utf-8)
さらに、utf-8にはBOMつきとBOMなしがある