1
sample.bat a,b,c,d yes

我试图通过回显 %2 来输出 yes,但结果显示为 b。我认为逗号也算作转义字符或其他东西。如何输出 yes 作为第二个参数?

4

2 回答 2

2

参数分隔符是:, ; = <space> <tab> <0xFF>

参数分隔符不能修改,也不能转义。

在参数中包含分隔符的唯一方法是将参数括在引号中。

sample.bat "a,b,c,d" yes

您可以使用~修饰符从参数中去除引号

echo %~1
于 2012-12-12T07:52:44.497 回答
2

您可以%*改用并使用您自己的规则对其进行解析。

for /F "tokens=1,2 delims= " %%A in ("%*") DO (
  echo first=%%A
  echo second=%%B
)
于 2012-12-12T12:43:03.790 回答