2013-08-05 113 views
0

我想從c#窗體窗體應用程序執行代碼。如何從C#執行命令?

string cmdCode = "/C mogrify -crop 590x389+116+102! D:\\Backup\\Images\\*.TIF"; 

System.Diagnostics.Process.Start("CMD.exe", cmdCode); 

,但它沒有做什麼是應該做的?

當我在命令行中輸入代碼時,代碼完美地完成了這項工作。我已經試圖改變路徑。我把TIF文件與MyApp.exe的文件,並改變了CMDCODE作爲

cmdCode = "/C mogrify -crop 590x389+116+102! *.TIF"; 

沒有成功。它很快顯示了黑色的命令PROMT連帶消失。

我也嘗試把代碼放在一個文件中,並使擴展名.bat運行它,但仍然沒有成功!有什麼建議麼 ?

感謝

回答

2

嘗試用/ K替換/ C選項。 這不會解決您的問題,但它應該防止命令提示符消失,並允許您查看提示是否顯示任何錯誤。

出於某種原因,您傳遞給CMD.exe的PATH也可能與默認情況下使用的路徑不同。一旦你用/ K選項啓動了cmd.exe,你也應該能夠發出echo%PATH%命令,並看看你有什麼。

2

取出cmd.exe部分,而是放在那裏的路徑mogrify.exe並開始與參數「-crop ...」,去掉/ C

如果你沿着路徑名傳遞包含需要用引號將路徑括起來的空格,所以參數將如下所示:

「-crop \」590x389 + 116 + 102!\「\」「+ YourPathHere +」\「」;

+0

它也沒有工作..它會拋出一個異常 – akd

+0

@akdurmus有什麼例外嗎? –