1 (изменено: henry.ford.2018, 2022-07-01 15:15:42)

Тема: CMD/BAT: Создание батника с проверкой службы

Нужно создать батник с кодом проверки состояния службы (выключена ли она), если выключена, то ребут ПК.


set "F="%ProgramFiles%\my.bat""
echo @echo off>%F%
echo set ServiceName=AnyDesk>>%F%
echo sc queryex %ServiceName%|Find "STATE"|Find "STOP">Nul&& (shutdown /r /t 1)>>%F%

По выше указанному коду создаётся неполный батник, типа:


@echo off
set ServiceName=AnyDesk

Пожалуйста подскажите как подправить.

2

Re: CMD/BAT: Создание батника с проверкой службы

henry.ford.2018, нужно в 3-ю строку дописать символы "^" (они будут экранировать спецсимволы "|", ">", "&") и добавить вторые "%" к имени переменной ServiceName.

echo sc queryex %%ServiceName%%^|Find "STATE"^|Find "STOP"^>Nul^&^& (shutdown /r /t 1)>>%F%

3

Re: CMD/BAT: Создание батника с проверкой службы

andypetr пишет:

henry.ford.2018, нужно в 3-ю строку дописать символы "^" (они будут экранировать спецсимволы "|", ">", "&") и добавить вторые "%" к имени переменной ServiceName.

echo sc queryex %%ServiceName%%^|Find "STATE"^|Find "STOP"^>Nul^&^& (shutdown /r /t 1)>>%F%

Спасиб большое