Можно ли использовать перенаправление вывода из cmd-файла, используя start? - PullRequest
6 голосов
/ 04 августа 2010

Я хочу иметь cmd-файл с чем-то вроде:

:one
start /wait (blabla1.exe -q -m 1>blabla1.log 2>&1)

:two
start /wait (blabla2.exe -q -m 1>blabla2.log 2>&1)

, где я хочу, чтобы вывод приложения blabla не выводился командой запуска.

Возможно ли это вообще?иметь перенаправления "локально" внутри команды запуска?

Нужно ли создавать однострочный cmd, содержащий
blabla1.exe -q -m 1>blabla1.log 2>&1
и передавать его команде start?

Обновление: мне нужен первый (blabla1.exe), чтобы закончить, прежде чем я запустите 2-й (blabla2.exe).Вот причина использования start /wait.

(Windows XP и выше)

Ответы [ 2 ]

18 голосов
/ 23 августа 2012

Да, можно перенаправить вывод с помощью команды запуска ожидания с помощью переключателя / B.

start /B /wait myprog.exe >> output.log

Если вам нужно взломать, вам придется использовать Ctrl + Break , Ctrl + C будет игнорироваться. Надеюсь, это поможет.

5 голосов
/ 04 августа 2010

Учитывая, что вы перенаправляете вывод в файл и ожидаете завершения процесса, действительно ли требуется дополнительное окно, запускаемое командой «start»?На самом деле, если бы был какой-то способ перенаправить вывод при использовании start, то всплывающие окна даже не имели бы никакого вывода ... делая их еще более бессмысленными.

Если нет, просто удалите"start / wait" и вызовите exes напрямую.

Если это необходимо ... тогда я не уверен.

ОБНОВЛЕНИЕ: Я вполне уверен, просто удалив "start / wait""будет производить поведение, которое вы желаете.См. Ниже:

(Создайте следующий пакетный файл: foo.cmd

:one
notepad.exe
:two
dir

Обратите внимание, что dir не будет отображаться, пока вы не закроете блокнот.

...