如何在C#中执行cmd,然后在同一窗口中执行下面的另一个命令?

正是我想要完成的是一个基本上在1次点击中设置活动分区的程序,节省了使用cmd提示等的工作时间和技巧。

我查看了System.Management名称空间,但无法解决如何使用它:(

所以我已经使用CMD,我有一个用C#编写的模块应用程序,基本上我想运行“DISKPART”,然后在cmd窗口中启动diskpart,然后我想要它“选择磁盘0”然后“select partition 1”最后是“active”。

在CMD中这样做你自己工作得很好,但有一个应用程序,它被certificate是尴尬的:(我设法让它做的是在一个窗口中使用Process.Start运行DiskPart,然后让它打开一个新窗口并运行下一个一段代码,但因为新窗口没有运行diskpart cmd它不起作用> 🙁

有什么建议?

谢谢!

只要您没有对输出做出决定,您就可以在C#应用程序中构建一个批处理文件,并通过Process.Start(...)启动它。

您需要生成两个文件。

首先运行DiskPart.bat

 diskpart / s myScript.dp

第二个myScript.dp

 ......一些命令......
出口

显然名称完全是任意的,但/s指令需要引用第二个文件的名称。

经过一番搜索,我认为你可以用脚本文件做你想做的事。 读这个 。

因此,在使用必要的命令创建script.txt文件后,可以使用Process.Start运行diskpart /s script.txt

如何引入一个延迟,比如Thread.Sleep(1000),以便其他进程有时间完成第一个命令?

你真正想做的是等待程序退出然后转到下一次调用。 看看这个问题 。