C # эквивалент оболочки_exec - PullRequest
5 голосов
/ 22 июня 2011

Как выполнить команду через оболочку и вернуть полный вывод в виде строки, используя C #?

эквивалентно shell_exec () PHP.

Спасибо, продвинутый.

Ответы [ 3 ]

6 голосов
/ 22 июня 2011

Использование Процесс класс

4 голосов
/ 22 июня 2011

В документации MSDN для Process.StandardOutput приведен пример

// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "Write500Lines.exe";
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

Вы также можете извлечь стандартный поток ошибок.

1 голос
/ 22 июня 2011

Посмотрите на класс процесса Стандартный вывод и Стандартная ошибка и OutputDataReceived и ErrorDataReceived полученных событий.

Здесь есть статья CodeProject , которая может оказаться вам полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...