Просто возникли проблемы с партией, и вам нужно уточнить «IF», «ELSE» и «GOTO».
@echo off
sc \\RemoteServer stop "My_Service"
:query
sc \\RemoteServer query "My_Service"
if %state% == 1 goto start # state =1 indicates service is stopped
else goto query
:start
sc \\RemoteServer start "My_Service"
Итак, я хочу, чтобы служба была остановлена, пакет для запроса состояния службы и, в зависимости от состояния, переходил к следующему шагу. Это необходимо, так как сервис останавливается достаточно белым. Если служба застряла в 3 STOP_PENDING
то sc start
не удастся.
Может кто-нибудь объяснить, почему мой GOTO терпит неудачу, или, возможно, предложить лучшую методологию?
TNA