我想用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"); 还是不行我应该怎么办?
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
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();
- 1 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消