我在使用批处理文件时遇到了一些困难。我想要做的是当单击一个按钮时,使用我指定的简单参数运行命令行。
到目前为止,这是我的代码:
ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.UseShellExecute = true;
startInfo.Arguments = "dir";
Process.Start(startInfo);
string output = Process.StandardOutput.ReadToEnd();
txtblkOutput.Text = output;
然而,这只是打开一个cmd窗口,没有任何反应。文本框保持空白。
但我可以这样做:
var process = new Process();
process.StartInfo.FileName = "C:/Users/user/Documents/SUB-20 Tool/commands.bat";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
txtblkOutput.Text = output;
在批处理文件中,它只是说dir
。这有效,我将输出发送到我的文本框。
为什么这只适用于批处理文件?如果没有它,我可以使用参数属性吗?
答案 0 :(得分:0)