2016-02-05 4 views
0

Я хочу, чтобы запустить эту команду и использовать результат в качестве моего «если затем» заявлениеИспользование вывода команды для «если потом еще» в пакетном файле

schtasks /query /s SERVER /fo list /tn "TASK" | find /c "Running" 

Я ударяя заграждение о том, как справиться с этим хоть.
Нормальный выход для этой команды - либо 0, либо 3.
Мне нужно сказать «если результат 0, то goto» или что-то в этом роде.

Любые предложения?

ответ

3

Команда FOR является предпочтительным способом получения выходных строк команды в переменной для дальнейшей обработки. Запустите в окне командной строки for /? для получения дополнительной информации об этой команде.

for /F %%I in ('%SystemRoot%\System32\schtasks.exe /query /s SERVER /fo list /tn "TASK" ^| %SystemRoot%\System32\find.exe /c "Running"') do if "%%I" == "0" goto :EOF 

Труба Оператор | должен быть экранирован с ^, чтобы получить его применительно к командовать Schtasks и не приводящий к синтаксической ошибке из-за его применение командовать ДЛЯ.

+0

Большое спасибо за помощь. Это было именно то, что мне нужно. –

Смежные вопросы