在c#中逐一运行多个shell命令
本文关键字:shell 命令 运行 | 更新日期: 2023-09-27 18:06:12
我想从c#运行多个shell命令。我尝试过Process.Start("");
,但它为每个命令打开新的实例。我也尝试过ProcessStartInfo
与StreamWriter
(参考),但它不适合我。我想从我的c#应用程序中执行以下shell命令。
timeout 10
taskkill /F /IM "v*"
taskkill /F /IM "B*"
timeout 5
shutdown /f /p
如何从我的c#应用程序一个接一个地运行这些命令?
试试Process.StartInfo.CreateNoWindow
和Process.WaitForExit()
您还可以通过执行System.Threading.Thread.Sleep(5000)
下面是一些帮助你开始的代码:
static void Main(string[] args)
{
System.Threading.Thread.Sleep(10000);
ExecuteCommandAndWait("taskkill", "/F /IM '"v*'"");
ExecuteCommandAndWait("taskkill","/F /IM '"B*'"");
System.Threading.Thread.Sleep(5000);
ExecuteCommandAndWait("shutdown", "/f /p");
}
private static void ExecuteCommandAndWait(string fileName, string arguments)
{
Process process = new Process();
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = fileName;
process.StartInfo.Arguments = arguments;
process.Start();
process.WaitForExit();
}
创建CMD文件并运行它可能是最简单的选择。
旁注:shutdown /f /t 30
可能是一个更简单的命令。