Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
sample.bat a,b,c,d yes
我试图通过回显 %2 来输出 yes,但结果显示为 b。我认为逗号也算作转义字符或其他东西。如何输出 yes 作为第二个参数?
参数分隔符是:, ; = <space> <tab> <0xFF>
,
;
=
<space>
<tab>
<0xFF>
参数分隔符不能修改,也不能转义。
在参数中包含分隔符的唯一方法是将参数括在引号中。
sample.bat "a,b,c,d" yes
您可以使用~修饰符从参数中去除引号
~
echo %~1
您可以%*改用并使用您自己的规则对其进行解析。
%*
for /F "tokens=1,2 delims= " %%A in ("%*") DO ( echo first=%%A echo second=%%B )