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