为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
撒科打诨 2023-07-22 18:42:41
我想用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();


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信