Sergey Alexandrovich Kryukov
Вы можете использовать один из методов System.Diagnostics.Process.Start
, например:
System.Diagnostics.Process.Start(myBatchFileName);
или
System.Diagnostics.Process.Start(myBatchFileName, myBatchParameters);
Все параметры являются строками. Первый параметр-это имя пакетного файла (не используйте CMD.EXE или что-то еще, используйте только имя пакетного файла), а необязательный второй параметр-это список аргументов пакетного файла, записанных в одну строку, разделенную черными пробелами.
Вы также можете назначить ссылку на дочерний процесс, который вы запускаете, когда он возвращается этими методами. Вы можете использовать эту переменную для различных целей. В частности, вы можете перевести вызывающий поток родительского процесса в состояние ожидания до тех пор, пока пакетный файл не завершит свое выполнение с помощью
Process.Wait
.
Наконец, вы можете скрыть консоль, перенаправить все выходные данные вашего пакетного файла в поток и прочитать весь текстовый вывод из этого потока. Вам нужно будет перенаправить хотя бы на потоки:
StandardOutput
и
StandardError
.
Пожалуйста, смотрите:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx[
^].
Пример переориентации вы можете найти здесь:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx[
^].
—СА