【bat】基本文法まとめ

コマンドの非表示

BAT (Batchfile)
rem コマンド表示をOFFにする。先頭に記載する。
@echo off 
BAT (Batchfile)

カレントディレクトリをバッチファイルを起動したフォルダへ移動

BAT (Batchfile)
set Current="%~dp0"
cd /d %Current% 
BAT (Batchfile)

コメントアウト

BAT (Batchfile)
rem コメント
BAT (Batchfile)

変数宣言、変数参照

BAT (Batchfile)
set 変数名= "値"
echo %変数名%
BAT (Batchfile)

条件分岐

BAT (Batchfile)
rem 条件1を満たせば処理1、条件2を満たせば処理2、それ以外は処理3を実行
if 条件1(
	処理1
)
else if 条件2(
	処理2
)
else(
	処理3
)
BAT (Batchfile)

比較演算子

BAT (Batchfile)
rem AとBが等しい
if("A" equ "B")

rem AとBが等しくない
if("A" neq "B")

rem AがBより小さい
if("A" lss "B")

rem AがB以下
if("A" leq "B")

rem AがBより大きい
if("A" gtr "B")

rem AがB以上
if("A" geq "B")
BAT (Batchfile)

リダイレクト(標準出力、標準エラー出力)

BAT (Batchfile)
rem >上書き >>追記 

rem 標準出力をリダイレクト
コマンド >> log.txt(ファイルのパス)

rem 標準エラー出力をリダイレクト
コマンド 2>> log.txt(ファイルのパス)

rem 標準出力と標準エラー出力をリダイレクト
コマンド >> log.txt(ファイルのパス) 2>&1
BAT (Batchfile)

エラー処理

BAT (Batchfile)
rem %errorlevel%には直近のコマンドの実行結果が格納される。("0"以外はエラー)
if %errorlevel% neq 0 (
	echo 追記エラー発生のため処理終了
	exit
)
BAT (Batchfile)

一時停止,停止など

BAT (Batchfile)
rem 何かキーを入力するまで一時停止
pause

rem 処理を終了
exit

rem 指定した秒数だけ一時停止
timeout 秒数

rem コマンド入力を受け付ける状態で停止
cmd /k
BAT (Batchfile)

特殊文字のエスケープ

BAT (Batchfile)
^&
^|
^<
^>
^%
^^
BAT (Batchfile)