使用 Process.Start(),如何在 /K 参数不起作用时保持 cmd 提示打开?

Jim*_*Del 4 c# cmd

可能的重复:有什么
方法可以在 Process.Start(..) 期间保持外部命令窗口打开?

我以前看过这篇文章,但由于某种原因,这些解决方案对我不起作用。使用 Process.Start(),如何在 /K 参数不起作用时保持 cmd 提示打开?也没有可用的“WaitForExit”方法。

ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe", "/K " + "C:\\Windows\\System32\\" + "takeown.exe");
processInfo.Verb = "runas";
processInfo.Arguments = "/F \"C:\\Program Files(x86)\\Borland\" /R /D Y";
Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)

我想看看这个过程是否成功处理。

谢谢

Cam*_*ron 6

您可以在继续之前等待该过程完成:

var process = Process.Start(processInfo);
process.WaitForExit();
if (process.ExitCode != 0) {
    // Handle failure...
}
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试这个:

ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe");
processInfo.Verb = "runas";
processInfo.Arguments = "/K C:\\Windows\\System32\takeown.exe /F \"C:\\Program Files(x86)\\Borland\" /R /D Y";
Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)