プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

バッチコマンド一覧

■実行するコマンドを非表示

@echo off

 
 


■コメントアウト

rem 〇〇

 
 


■変数宣言

set 変数名=変数にセットする値

 
 


■変数使用

%変数名%

//遅延環境変数の場合
!変数名!

 
 


■遅延環境変数設定

setlocal enabledelayedexpansion

 
通常、「変数」はその行を読み込んだ時に値にセットされる
遅延環境変数設定によって実行時に値にセットされる
※「%変数名%」ではなく「!変数名!」と記述する必要がある
 

【使用例】

・sample1.bat(遅延環境変数設定 なし)

@echo off

set var=田中
echo 変数var:%var%

if %var% == 田中 (
    set var=加藤
    echo 変数var:%var%
)

pause

⇒if文内の「echo 変数var:%var%」の結果:田中
 
 

・sample2.bat(遅延環境変数設定 あり)

@echo off

setlocal enabledelayedexpansion

set var=田中
echo 変数var:%var%

if %var% == 田中 (
    set var=加藤
    echo 変数var:!var!
)

pause

⇒if文内の「echo 変数var:!var!」の結果:加藤
 
 


■カレントディレクトリのパス表示

echo %~dp0

 
 


■条件文

if 条件 (真コマンド) else (偽コマンド)

真偽コマンド共にスペースが無い場合は「かっこ()」は不要
 
 


■条件文(比較演算)

if (/i) 文字列A 比較演算子 文字列B コマンド

//// 比較演算子 ////
equ:等しい
neq:等しくない
gtr:より大きい
geq:以上
leq:以下
lss:より小さい(=未満)

※「equ」と「==」の違い

・equ
比較演算子として比較
両側とも数字だけの文字列の場合は数字として比較
但し、0で始まる文字列を数字として扱う場合は8進数扱いになるので注意が必要
例)8進法で「010」は10進法の「8」
 
・==
文字列として比較
 
 


■条件文(ファイル有無)

if exist ファイル名 コマンド
if (not) exist ファイル名 コマンド

 
 


■停止

pause

 
 


■参考

下記サイトにオプションを含めた基本コマンドが詳しく掲載されている
 
コマンドとオプションの簡易解説一覧表