2013-10-04 51 views
0

我創建一個批處理文件的完整參數,並在下面的方式傳遞參數給它:批處理文件沒有采取

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

,但是當我執行使用echo的批處理文件(爲了檢查是否正在採取正確的參數),然後發現它沒有采取完整的參數列表

我的批處理文件,內容爲:

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

現在從參數%4之後的數據在命令行看不到,因此命令不執行。請建議我去哪裏錯了。

+1

傳遞路徑名稱用空格檢查批次的所有參數打破了參數計算 – Steve

回答

1

批量需要你報價參數與內部空間,所以嘗試:

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

您也可以使用

ECHO %* 
+0

謝謝史蒂夫這是一個小錯誤,我在=運營商之後傳遞了空間,並且刪除了這個幫助。 :) – priya