将命令提示符中的任何结果重定向到richtextbox

时间:2010-06-16 16:34:28

标签: c#

我需要将命令提示符中的任何结果重定向到富文本框。任何人都可以为我提供必要的步骤。这就是我启动命令提示符的方式。

ProcessStartInfo psi = new ProcessStartInfo
                {
                    FileName = "cmd",
                    Arguments = @"/k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat""",
                };
                Process.Start(psi);

2 个答案:

答案 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文档。