Перехват вывода CMD и Powershell в переменную string?

Как сделать вывод результата команд CMD и Powershell не в консоль и не в текстовый файл, а сразу в переменную string?


Ответы (1 шт):

Автор решения: polsok
static void Main()
    {
        //cmd
        Process processCMD = Process.Start(new ProcessStartInfo
            {
                FileName = "cmd",
                //нужно использовать кодировку иначе будут кракозябры
                Arguments = "/c chcp 65001 & ipconfig",
                UseShellExecute = false,
                RedirectStandardOutput = true,
                CreateNoWindow = true,
                WindowStyle =  ProcessWindowStyle.Hidden
            }
        );
        string t1 = processCMD.StandardOutput.ReadToEnd();
        //PewerShell
        Process processPowerShell = Process.Start(new ProcessStartInfo
            {
                FileName = "powershell",
                Arguments = "/command Get-Date",
                UseShellExecute = false,
                RedirectStandardOutput = true,
                CreateNoWindow = true,
                WindowStyle = ProcessWindowStyle.Hidden
            }
        );
        string t2 = processPowerShell.StandardOutput.ReadToEnd();
    }
→ Ссылка