Как проверить, работает ли процесс с помощью сценария пакетной обработки

Проблема полагается с двумя аргументами, что Вы добавили к перегруженному новому оператору. Попытайтесь делать имя файла и строку глобальными в некотором роде (или членские переменные, если Вы перегружаете новый и удаляете для единого класса). Это должно работать лучше.

248
задан Keng 2 October 2008 в 03:45
поделиться

2 ответа

Другая возможность, которую я придумал, вдохновленная использованием grep , это:

tasklist /FI "IMAGENAME eq myapp.exe" 2>NUL | find /I /N "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" echo Program is running

Не нужно сохранять дополнительный файл, поэтому я предпочитаю этот метод.

308
ответ дан 23 November 2019 в 03:00
поделиться

Я использовал сценарий , предоставленный Мэттом ( 2008-10-02). Единственная проблема, с которой я столкнулся, заключалась в том, что он не удалял файл search.log . Я ожидаю, потому что мне пришлось cd в другое место, чтобы запустить мою программу. Я cd вернулся туда, где находятся BAT-файл и search.log , но он все равно не удалился. Я решил эту проблему, удалив файл search.log первым, а не последним.

del search.log

tasklist /FI "IMAGENAME eq myprog.exe" /FO CSV > search.log

FOR /F %%A IN (search.log) DO IF %%-zA EQU 0 GOTO end

cd "C:\Program Files\MyLoc\bin"

myprog.exe myuser mypwd

:end
0
ответ дан 23 November 2019 в 03:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: