windosのバッチファイル読解メモ

 

.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」を表示する。

 

コメント

PAGE TOP
Ads Block Detector Powered by codehelppro.com
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました