批处理文件由于某种原因在中间参数之间添加空格

时间:2011-06-19 12:44:09

标签: windows batch-file

我有一个奇怪的情况,由于某种原因,我的批处理文件中的一个语句被赋予了额外的空间。

scan "%1" -d "db" --memory -r -i --max-filesize=100m > output.txt

执行时,而不是执行:

scan "C:\" -d "db" --memory -r -i --max-filesize=100m

执行:

scan  "C:\" -d "db" --memory -r -i --max-filesize=100m

正如您所看到的,它在“scan”和“C:\”之间添加了一个空格

有人可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:3)

问题在于你引用了C:\。它不需要引用(因为它不包含空格),看起来应用程序将生成的\"解释为转义引号,从而产生未终止的双引号字符串。

欢迎使用批处理脚本的乐趣。