回答
您可以使用Process類執行命令行命令。
以下代碼將標準輸出捕獲到output
,並將進程退出代碼分配到exitCode
。
using (Process p = new Process())
{
p.StartInfo.FileName = exeName;
p.StartInfo.Arguments = args;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
int exitCode = p.ExitCode;
}
我也將編寫控制檯應用程序,如何在控制檯應用程序中設置exitCode?只需在完成執行後返回代碼吧? – 001
只需從Main()返回錯誤級別代碼。請參閱http://msdn.microsoft.com/en-us/library/0fwzzxz2.aspx。 –
我假設您使用Process
類來調用命令行應用程序。
您可以使用Process.ExitCode
找到該過程的退出代碼。在啓動它之前,您可以通過設置ProcessStartInfo.RedirectStandardOutput
來重定向其標準輸出,然後使用Process.StandardOutput
或Process.OutputDataReceived
事件。
喜歡的東西:
Process mycommand = new Process();
mycommand.StartInfo.FileName = "myexe.exe";
mycommand.StartInfo.Arguments = "param1";
mycommand.StartInfo.UseShellExecute = false;
mycommand.StartInfo.RedirectStandardOutput = true;
mycommand.Start();
Console.WriteLine(mycommand.StandardOutput.ReadToEnd());
mycommand.WaitForExit();
通常你確定羯羊退出代碼的EXE的狀態是0,但可以說是下降到EXE
的作家看看這個問題enter link description here。
您可能需要的附加信息是process.ExitCode
以查看它是否成功。當然,控制檯應用程序的主要方法必須在不成功時返回退出代碼,而許多代碼則不會。
爲此,您使用Process.Start
方法。您可以控制如何處理與傳遞ProcessStartInfo
運行:
var myProcess = Process.Start(new ProcessStartInfo {
FileName = "process.exe",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
});
if (!myProcess.WaitForExit(5000)) { // give it 5 seconds to exit
myProcess.Kill();
}
if (myProcess.ExitCode != 0) {
// error!
}
var output = myProcess.StandardOutput.ReadToEnd(); // access output
- 1. C++ linux從程序執行命令行
- 2. C程序的命令行執行
- 3. 如何從C++程序執行命令行命令
- 4. 運行命令行程序
- 5. 在c程序中執行SET命令
- 6. 通過c程序執行clearcase命令
- 7. 如何調試C#命令行程序
- 8. 在C++中調用命令行程序
- 9. 在c程序中運行shell命令
- 10. 從C程序執行pi命令
- 11. 從C程序執行shell命令
- 12. C# - 命令行應用程序調用
- 13. 通過C程序運行BASH命令
- 14. C++命令行程序設計UI?
- 15. 運行在C Linux命令++程序
- 16. 命令行ios程序
- 17. 第三方Windows命令行程序?
- 18. 我該如何測試執行命令行程序的PHP類方法?
- 19. 如何在運行程序時通過命令行調用java類的方法?
- 20. 調用命令行程序
- 21. 使用C#程序如何執行命令提示符命令
- 22. 運行命令來自C#程序的提示命令
- 23. C#方法行程序
- 24. 執行命令行應用程序
- 25. 編譯Java程序的命令行
- 26. 分配python命令行應用程序的更好方法
- 27. 暫停命令行python程序的最簡單方法?
- 28. 退出命令行程序的正確方法?
- 29. 一種使用Air 2創建命令行程序的方法?
- 30. 命令行安裝程序
的[捕獲.NET中的控制檯輸出(C#)](可能重複http://stackoverflow.com/questions/186822/capturing-the -console -input-in-net-c) –