C # Process Execute Bath File (который запускает другие дочерние процессы) без консольного окна - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно запустить командный файл, который запускает несколько других процессов. Я хочу запустить пакетный файл без вывода сообщений, чтобы не создавались окна консоли. Я могу запустить командный файл, используя:

Process p = new Process();

p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.FileName = "start_system.cmd";
p.Start();

p.WaitForExit();

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

Это очень длинный пакетный скрипт, который выполняет большую работу (не только запускает другие процессы), и я не могу запустить все операторы из одного пакетного файла. по одному.

start_system.cmd выглядит так:

@echo off
...
lots of environment variables settings
...
call %SDK_DIR%\env\env.cmd
...
other settings
...
call %SDK_DIR%\bin\fs.cmd
...
call %SDK_DIR%\etc\proc.cmd
...
lots of other calls
...
...