当前,我正在编程一个控制CMD的程序。问题是我的代码可以运行一个命令,然后CMD关闭。但是我需要填写后续命令(例如填写密码)。
我当前的代码是:
cmdProcess.StartInfo.FileName = "cmd.exe";
cmdProcess.StartInfo.CreateNoWindow = false;
cmdProcess.StartInfo.RedirectStandardInput = true;
cmdProcess.StartInfo.RedirectStandardOutput = true;
cmdProcess.StartInfo.UseShellExecute = false;
cmdProcess.Start();
cmdProcess.StandardInput.WriteLine(txt_Command.Text);
cmdProcess.StandardInput.Flush();
cmdProcess.StandardInput.Close();
txt_Output.Text = cmdProcess.StandardOutput.ReadToEnd();
我了解我的代码明确指出应关闭。但是,当我删除该行时,该命令将不会执行。谁知道为什么?
我想要让CMD保持打开状态。我希望有人可以提供帮助。
以诚挚的问候
也许我们需要了解为什么您需要在相同的上下文中运行命令。如果需要返回值/输出,为什么不能只运行命令并使用mycommand.exe >>%temp%\ output.txt将输出重定向到文件?