用C#运行cmd.exe,需要输入“Y”

我想用System.Diagnostics.Process运行cmd命令:“net use * /delete”,但该命令需要输入“Y”或“N”。


这是我的代码:


Process proc = new Process();

proc.StartInfo.FileName = "cmd.exe";

proc.StartInfo.UseShellExecute = false;

proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.RedirectStandardOutput = true;

proc.StartInfo.RedirectStandardError = true;

proc.StartInfo.CreateNoWindow = true;

string dosLine = "/C echo y | net use * /delete";

proc.StartInfo.Arguments = dosLine;

proc.Start();

这些代码不起作用。我也尝试过这个:


proc.StandardInput.WriteLine("net use * /delete");

proc.StandardInput.WriteLine("Y"); 

还是不行


我应该怎么办?


撒科打诨
浏览 152回答 1
1回答

喵喔喔

net use需要一个/y标志,所以你可以直接传递它。你不需要输入它。您还可以像这样简化代码:Process proc = new Process();proc.StartInfo.FileName = "net";proc.StartInfo.Arguments = "use * /delete /y";proc.StartInfo.UseShellExecute = true;proc.StartInfo.RedirectStandardOutput = true;proc.StartInfo.RedirectStandardError = true;proc.StartInfo.CreateNoWindow = true;proc.Start();
打开App,查看更多内容
随时随地看视频慕课网APP