バッチファイルのパラメータ

%0はバッチファイルのファイル名となる。

C言語と同じ。Javaをやってる人は違和感があるかも。
arg1.bat

@echo off
echo %0
D:\MyDoc\work\#blog\コマンドプロンプト>arg1.bat
arg1.bat

バッチファイルで使用できるパラーメータは%0〜%9まで

arg2.bat

@echo off
echo %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11

%10は使えないので、%1と0の文字列と解釈されてしまう。
(コマンドパラメータが1〜11だと気づかないw)

D:\MyDoc\work\#blog\コマンドプロンプト>arg2.bat a b c d e f g h i j k 
a b c d e f g h i a0 a1

10個以上パラメータを使いたい場合

%*を使用することで全部表示することはできる。
arg3.bat

echo %*
D:\MyDoc\work\#blog\コマンドプロンプト>arg3.bat a b c d e f g h i j k
a b c d e f g h i j k

%*で表示できるけど・・・
いや、そうじゃなくて個別に10個以上パラメータを使いたいたいんだよ

個別に10個以上パラメータを使いたい場合

この場合は、shiftを使ってコマンドパラメータをずらしていく

arg4.bat

:top
if {%1}=={} goto :EOF
echo %1
shift
goto :top
D:\MyDoc\work\#blog\コマンドプロンプト>arg4.bat a b c d e f g h i j k
a
b
c
d
e
f
g
h
i
j
k