我需要将命令提示符中的任何结果重定向到富文本框。任何人都可以为我提供必要的步骤。这就是我启动命令提示符的方式。
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "cmd",
Arguments = @"/k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat""",
};
Process.Start(psi);
答案 0 :(得分:2)
var process = new Process
{
StartInfo = new ProcessStartInfo("cmd.exe", "/C dir c:")
{
RedirectStandardOutput = true,
UseShellExecute = false,
}
};
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);
编辑:然后你可以试试这个
var process = new Process
{
StartInfo = new ProcessStartInfo("cmd.exe")
{
RedirectStandardOutput = true,
RedirectStandardInput = true,
UseShellExecute = false,
}
};
process.Start();
// Discard "Microsoft windows all rights reserved etc.
while (process.StandardOutput.ReadLine() != "") ;
// Run command
process.StandardInput.WriteLine("dir c:");
// Skip command entered
process.StandardOutput.ReadLine();
// And exit
process.StandardInput.WriteLine("exit");
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
Console.WriteLine(output);
答案 1 :(得分:0)
您将要从Process重定向stdout流。我不记得所涉及的确切属性和方法,但请查看Process
上的MSDN文档。