C# 在c中逐个运行多个shell命令

C# 在c中逐个运行多个shell命令,c#,shell,cmd,command,dos,C#,Shell,Cmd,Command,Dos,我想从c运行多个shell命令。我试过这个过程。开始;但它会为每个命令打开新实例。我也尝试过使用StreamWriter处理StartInfo,但它对我不起作用。我想从我的c应用程序中执行以下shell命令 timeout 10 taskkill /F /IM "v*" taskkill /F /IM "B*" timeout 5 shutdown /f /p 如何从c应用程序中逐个运行这些命令 提前感谢…创建CMD文件并运行它可能是最简单的选择 旁注:shutdown/f/t30可能是一个更

我想从c运行多个shell命令。我试过这个过程。开始;但它会为每个命令打开新实例。我也尝试过使用StreamWriter处理StartInfo,但它对我不起作用。我想从我的c应用程序中执行以下shell命令

timeout 10
taskkill /F /IM "v*"
taskkill /F /IM "B*"
timeout 5
shutdown /f /p
如何从c应用程序中逐个运行这些命令


提前感谢…

创建CMD文件并运行它可能是最简单的选择


旁注:shutdown/f/t30可能是一个更简单的命令。

创建CMD文件并运行它可能是最简单的选项

旁注:shutdown/f/t 30可能是一个更简单的命令。

尝试Process.StartInfo.CreateNoWindow和Process.WaitForExit

您还可以通过执行System.Threading.Thread.Sleep5000来消除超时命令

以下是一些让您开始学习的代码:

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();
}
请尝试Process.StartInfo.CreateNoWindow和Process.WaitForExit

您还可以通过执行System.Threading.Thread.Sleep5000来消除超时命令

以下是一些让您开始学习的代码:

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();
}
可能会提供一些有用的答案。可能会提供一些有用的答案。