我正在尝试在 C# 应用程序中运行批处理命令。
通常,我会通过以下代码来做到这一点:

string command = "shutdown -s -t 120";
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = ("/c" + command);
process.StartInfo = startInfo;
process.Start();

但是,我正在为不允许 CMD.EXE 的网络构建上述应用程序。我可以通过创建一个包含“COMMAND.COM”字符串的 *.bat 文件来访问命令提示符 - 然后我必须手动输入命令。上面的代码不允许我将字符串命令传递给批处理文件,只能传递一个 *.exe 文件。有没有办法解决?

最佳答案

答案是完全绕过cmd,这里不需要,shutdown本身就是一个进程,直接运行即可:

Process.Start("shutdown","/s /t 120");

关于c# - 不使用 CMD.EXE 运行批处理命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34767639/

10-14 17:54