如果第一个参数有逗号,则在批处理文件中读取第二个参数

时间:2012-12-12 06:37:33

标签: batch-file

sample.bat a,b,c,d yes

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

2 个答案:

答案 0 :(得分:2)

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

无法修改参数分隔符,也无法对其进行转义。

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

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

您可以使用~修饰符

从参数中删除引号
echo %~1

答案 1 :(得分:2)

您可以使用%*代替并使用自己的规则进行解析。

for /F "tokens=1,2 delims= " %%A in ("%*") DO (
  echo first=%%A
  echo second=%%B
)