1

Я пытаюсь убедиться, что пакетный файл знает, что служба "Tomcat7" полностью остановлена, прежде чем снова пытаться запустить службу "Tomcat7". Я знаю, что "NET STOP" и "NET START" должны ждать возврата до тех пор, пока каждый из них полностью не остановится или не запустится, но я видел случаи, когда это продолжается в любом случае, возможно, из-за долгого ожидания.

@ECHO OFF

net stop Tomcat7

rd /s /q "C:\storefront\live\work"
rd /s /q "C:\storefront\live\logs"

for /F "tokens=3 delims=: " %%H in ('sc query Tomcat7 ^| findstr "        STATE"') do (
  if /I "%%H" EQ "STOPPED" (
    net start Tomcat7
  )
)

2 ответа2

1

Используйте sc query Tomcat7 чтобы получить статус службы.

0
sc start stisvc || Echo Service Not Fully Exited

Разве это не делает то, что вы хотите? Помните, что мы пробуем и выявляем ошибки, а не тестируем, а затем делаем. Подумай почему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .