2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« WSHに渡すオプションとスクリプトに渡す引数の書き方(その2) | トップページ | Adobe Reader 8.1の起動オプション »

2007年6月29日 (金)

コマンドラインの引数の区切り文字

コマンドラインの引数の区切り文字は、空白、タブ、等号、セミコロン、コンマです。

ためしに、以下のhoge.cmdを作って、

@ECHO OFF
SETLOCAL
SET /A N=0
:TOP
SET X=%1
IF NOT DEFINED X GOTO :EOF
SET /A N+=1
ECHO %N% "%1"
SHIFT
GOTO :TOP

hoge.cmd 1 2 3=4;5,6

と実行してみれば、引数が区切り文字でばらされていることが分かります。

また、以下のhoge2.cmdを作って、同様に、

@ECHO OFF
ECHO * "%*"

hoge2.cmd 1 2 3=4;5,6

と実行してみると、その違いが分かります。

また、FOR IN (ファイルセット)の区切り文字も同じです。

つまり、以下のhoge3.cmdを作って、

@ECHO OFF
SETLOCAL
SET /A N=0
FOR %%1 IN (%*) DO (
SET /A N+=1
CALL ECHO %%N%% "%%1"
)

hoge3.cmd 1 2 3=4;5,6

を実行すると、hoge.cmdの結果と同じになります。

« WSHに渡すオプションとスクリプトに渡す引数の書き方(その2) | トップページ | Adobe Reader 8.1の起動オプション »