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