执行时的批处理文件没有采用完整的参数

时间:2013-10-04 10:08:27

标签: c# batch-file

我创建了一个批处理文件并以下列方式将参数传递给它:

proc.StartInfo.Arguments = string.Format("{0} {1} {2} {3} {4} {5}", report, Formattype, Output, file, NcoverArg, CoverageFile);

但是当我使用echo on执行批处理文件时(为了检查它是否采用了正确的参数),发现它没有采用完整的参数列表

我的批处理文件内容是:

echo on
set basedir=C:\Runner
cd C:\Program Files (x86)\Gallio\bin\
Gallio.Echo.exe  %1 %2 %3 %4 %5 %6

现在从参数%4开始,在命令行中看不到数据,因此命令不会执行。请告诉我出错的地方。

1 个答案:

答案 0 :(得分:1)

批处理要求您引用带有空格的参数,因此请尝试:

proc.StartInfo.Arguments = string.Format("\"{0}\" \"{1}\" \"{2}\" \"{3}\" \"{4}\" \"{5}\"", report, Formattype, Output, file, NcoverArg, CoverageFile);

您还可以使用

批量检查所有参数
ECHO %*