sample.bat a,b,c,d yes
%2 をエコーして yes を出力しようとしていますが、結果は b と表示されます。コンマもエスケープ文字か何かとしてカウントされると思います。2 番目のパラメーターとして yes を出力するにはどうすればよいですか?
sample.bat a,b,c,d yes
%2 をエコーして yes を出力しようとしていますが、結果は b と表示されます。コンマもエスケープ文字か何かとしてカウントされると思います。2 番目のパラメーターとして yes を出力するにはどうすればよいですか?
%*
代わりに使用して、独自のルールで解析できます。
for /F "tokens=1,2 delims= " %%A in ("%*") DO (
echo first=%%A
echo second=%%B
)
パラメータ区切り文字は次のとおりです。,
;
=
<space>
<tab>
<0xFF>
パラメータ区切り文字は変更できず、エスケープもできません。
パラメータ内に区切り文字を含める唯一の方法は、パラメータを引用符で囲むことです。
sample.bat "a,b,c,d" yes
~
修飾子を使用して、パラメーターから引用符を取り除くことができます
echo %~1