, поэтому Google не помог мне вообще, мне нужно снова спросить здесь. Я использую этот метод, чтобы проверить, работают ли мои серверы в двух пакетных файлах.Пакетный файл, который проверяет другой процесс пакетного файла
tasklist /FI "IMAGENAME eq server_64.exe" 2> nul | find "server_64.exe" > nul
IF ERRORLEVEL == 1 (
echo Server is not running
echo.
) else (
echo Stopping Server ...
echo.
taskkill /F /IM server_64.exe > nul 2>&1
)
Один для запуска и один для остановки серверов. Хорошо, что это отлично работает, но когда дело доходит до пакетных файлов, он не будет работать для меня ... У меня есть один сервер, который работает на phyton, поэтому запустите его через командный файл. Мой вопрос в том, есть ли способ получить статус процесса пакетного файла и остановить его, как он работает для exe? Надеюсь, я объяснил это достаточно хорошо. Thx заранее! :)
'IF% ERRORLEVEL% == 1 (' или 'IF ERRORLEVEL 1 (' хотя эти 'IF' не дают одинаковых результатов, см. Http://ss64.com/nt/if.html и http: //ss64.com/nt/find.html – JosefZ
@JosefZ, предпочтительнее 'IF% ERRORLEVEL% EQU 1' (оператор' == 'принуждает сравнение строк,' EQU' выполняет численное сравнение, когда оба выражения являются чисто числовыми, и ' IF ERRORLEVEL 1' на самом деле означает 'IF ERRORLEVEL> = 1', но некоторые команды могут использовать и отрицательные значения« ERRORLEVEL ») ... – aschipfl
скрипт работает для exe-файлов, как это должно быть не для пакетных файлов. –