Я пытаюсь убедиться, что пакетный файл знает, что служба "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
)
)