.NET 中高效執行多個命令
.NET 開發中,經常需要執行多個命令行,而不需要重複創建新進程。這種方法可能既耗時又低效。
為了解決此問題,提供的程式碼片段利用了一種稱為進程重定向的技術。透過重定向進程的標準輸入,您可以直接向進程寫入命令,而無需每次建立新的 shell。
下面更新的ExecuteCommand 方法實現了此技術:
private void ExecuteCommand(string Command, int Timeout, Boolean closeProcess) { Process p = new Process(); ProcessStartInfo info = new ProcessStartInfo(); info.FileName = "cmd.exe"; info.RedirectStandardInput = true; info.UseShellExecute = false; p.StartInfo = info; p.Start(); using (StreamWriter sw = p.StandardInput) { if (sw.BaseStream.CanWrite) { sw.WriteLine(Command); } } p.WaitForExit(Timeout); if (closeProcess == true) { p.Close(); } }
中這個更新的方法不是將命令作為「/C {command}」傳遞到進程啟動訊息,而是重定向進程的標準輸入並使用StreamWriter 直接寫入指令。這允許您執行多個命令,而無需建立多個進程。
要處理命令中的“”,請使用逐字字串(以 @ 為前綴)將字元逐字包含在命令字串中。
以上是如何在.NET中高效執行多個命令而不需要重複建立進程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!