Как отправить серию команд процессу командного окна?

У нас есть несколько команд (пакетные файлы / исполняемые файлы) на нашем сетевом пути, которые мы должны вызвать для инициализации нашей «среды разработки» для этого командного окна. Он устанавливает некоторые переменные среды, добавляет что-то в Path и т. Д. (Тогда будут распознаваться только те рабочие команды, которые мы вводим, и я не знаю, что входит в эти инициализирующие команды)

Теперь моя проблема в том, серия этих «рабочих команд» с использованием программы C #, и, конечно же, они будут работать только после первоначальной настройки. Как я могу это сделать? В настоящее время я создаю пакетный файл с нуля из программы, например:

file.Writeline("InitializationStep1.bat")
file.Writeline("InitializeStep2.exe")
file.Writeline("InitializeStep3.exe")

Затем фактические команды

file.Writeline("Dowork -arguments -flags -blah -blah")
file.Writeline("DoMoreWork -arguments -flags -blah -blah")

Затем, наконец, закройте средство записи файлов и запустите этот пакетный файл.

Теперь, если я выполню это напрямую, используя Process. Run Start ("cmd.exe", "Dowork -arguments"); , он не запустится.

Как я могу добиться этого более чистым способом, чтобы мне приходилось запускать команды инициализации только один раз? (Я мог бы запускать cmd.exe каждый раз со всеми тремя инициализаторами, но они занимают много времени, поэтому я хочу сделать это только один раз)

9
задан Piyush Soni 17 June 2015 в 18:28
поделиться