set 変数名=xxx
@ | 該当のコマンドを標準出力に表示しない |
"や^ | 特殊文字のエスケープ用。%のエスケープだけは^でないとダメらしい。 |
echo off | 以降のコマンドを表示させない。echo off自体も表示させてくないので、通常は@echo offのように使う |
echo | 標準出力に改行付きで表示。改行したくない場合には、SET /P test="値" <NULのような書き方をする。 |
if 条件 (処理内容) | if文の条件はこのような形となる。条件と括弧の間に半角スペースを空けることに注意。条件文ではEQU(=)等を使う。 |
%errorlevel% | 直前実行コマンドの成功失敗によって値が異なるので制御に使用でいる。 |
rem | この文字以降の1行はコメント扱い |
pause | 実行すると自動で閉じるが、閉じないようにする |
&& | 複数コマンドを実行するとき。&1個の場合は単純に連続、2個の場合は前のコマンドが成功した時に後ろのコマンドが実行される |
: | コメントアウト |
:名前 | ラベルをつけることができる。goto 名前とすると:名前まで処理が移動する |
%変数:~x,y | 文字列の切り取り等に使える |
set 変数=0%変数% | 文字列の連結等は簡単にできる。左の例は変数の頭に0を付けている |
%~dp0または%CD% | カレントディレクトリ |
%0 | 起動したbatファイルのパス |
%1,%2 | 引数の1個目、2個目。 %の後に 1.~をつけると"(ダブルクォート)除く。 2.nをつけるとファイル名だけ得る。 3.xをつけると拡張子だけを得る。 4.pをつけるとパス名だけを得る等 等、引数を工夫するとファイル操作等が楽になるので利用したい。 |
for %%英数字 in (条件) DO (コマンド) | バッチファイル上のfor文の書き方。コマンドプロンプトに直接打つ場合にはfor %英数字となるので注意。 他にもDO()の中の変数でset /A counter用変数=%counter用変数%+1のようにしても、計算結果が反映されない点に注意。そういう場合は、!で変数を囲う遅延環境変数(setlocal enabledelayexpansionのおまじないも書こう)を活用すると良い。 |
usebackq | 空白を含むファイルを指定する時等に使う。 http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.htmlが分かりやすい |
tokens,delims | delims(区切り文字)で区切られた文字のうち、tokensで指定した番号の文字を%%iのような変数に格納する。 http://www.ne.jp/asahi/hishidama/home/tech/windows/bat.htmlが分かりやすい |
timeout | 時間差での実行 |
call | ラベル,exit /bと組み合わせることで、bat内のサブルーチン(関数記述)のようなことができる。 |