.batファイルを読んでて、調べた構文の記号メモ。
@ | アットマーク |
行の先頭に付けると、コマンドプロンプトに、その行が表示されない。 @echo off
という感じでよく使われてる。echo offを実行すると、batファイルに書いた内容がコマンドラインに表示されなくなる。 但し、echo off自体は表示されるので、これ自体も表示させたくない場合、@を付けて非表示とする。 |
/ | スラッシュ |
コマンド関数の後に書くと、プログラム処理を切り替えるスイッチのように扱われる。 例えば次のようにコマンドを打つと、 set a=1+2 echo %a% echoは、「1+2」と表示されるが、setの場合「/a」オプションを付けると、=で指定されている内容を数式として認識し、計算した結果が代入される。次のように打つと、 set /a a=1+2 echo %a% echoは、「3」を表示する。 setの詳細はコマンドプロンプトで「help set」を実行。 |
% | パーセント |
定義した変数名を%で囲むことで、中身を読みだせる。 例えば次のように打つと、 set a=25 echo %a% setでaに代入された25が、echoで表示される。 |
%% | ダブルパーセント |
modとして取り扱われる。modは割った余りの計算。 例えば次のように書くと、 set /a a=17%%13 echo %a% aに17を13で割った余り、4が代入される。 setには、%RANDOM%という乱数を作れるオプションがあるので、例えば下記の様に書くと、 set /a a=%random%%%25 echo %a% 25で割った余り、つまり0~24までの数をランダムに生成することもできる。 但し、このRANDOMは0~32767までの整数を返すので、それ以上大きな数の乱数は作れないので注意。setはこれ以外にも、TIMEとかDATEとか色々あるので、一度helpを見ること推奨。(コマンドプロンプトで「help set」を実行。) ※コマンドプロンプトだと、%%でなく、%としないと実行できない点に注意。%%はバッチファイルに書く場合のみ。 |
%1 | パーセント1 |
引数 例えば、次のように書いた、「mybat.bat」を作成し、 echo %0, %1, %2
次のように実行すると、 D:\bat_test>mybat.bat "temp1.jpg" temp2.jpg D:\bat_test>echo D:\bat_test\test3.bat, "temp1.jpg", temp2.jpg D:\bat_test\test3.bat, "temp1.jpg", temp2.jpg %1: 引数1, %2: 引数2という風に取り扱われる。変数は%9まで。10以上の引数を渡した場合は「shift」コマンドを実行して、取り出していく。 (詳細は、help shiftを実行) |
^ | ハット |
末尾に付けると、式が次の行に跨っていることを示している。 例えば、次のようにすると、 set a=1+2^ +3 echo %a% echoは「6」を表示する。 |
コメント