Я разместил это раньше, но в то время казалось, что он работает, но теперь я вижу, что это не так.пакетный процесс tasklist check not working
Я пытаюсь проверить, запущены ли определенные процессы, и если нет, то он должен начать новый экземпляр этого процесса. Этот процесс представляет собой .NET-программу, которая должна быть запущена.
@echo off
tasklist /FI "IMAGENAME eq GEIndexParser.exe" | find /I "GEIndexParser.exe">
nul &&(
echo PROCESS GEIndexParser.exe IS ALREADY RUNNING!
)||(
echo GEIndexParser.exe IS NOT RUNNING! STARTING THE NEW PROCESS!
cmd /c start "ETPARSER" "C:\Users\me\Documents\
Visual Studio 2010\Projects\Projects2013\
GEIndexParser\bin\Debug\GEIndexParser.exe"
)
Может ли кто-нибудь увидеть, что в этом плохого?
Кстати, я пытаюсь запустить его на компьютере с сервером Windows 2008, и он запускается, когда я настраиваю задание в запланированных задачах, но не видит, что существующий процесс работает и продолжает его выполнять. Это приводит к множеству экземпляров процесса.
Благодаря комментарии предложение о синтаксисе я изменил его немного
tasklist /FI "IMAGENAME eq GEIndexParser.exe" | find /I "GEIndexParser.exe">nul &&(
echo PROCESS GEIndexParser.exe IS ALREADY RUNNING!)
pause
||
(
echo GEIndexParser.exe IS NOT RUNNING! STARTING THE NEW PROCESS!
cmd /c start "ETPARSER" "C:\Users\me\Documents\
Visual Studio2010\Projects\Projects2013\GEIndexParser\bin\Debug\GEIndexParser.exe"
)
, кажется, работает.
Пожалуйста, удалите конец строки после TaskList/FI "ImageName эк GEIndexParser.exe" | find/I "GEIndexParser.exe"> и сообщите, работает ли он. –
Я не уверен, что это было именно с тех пор, как я добавил endofline при создании сообщения, но удалил любые дополнительные пробелы и теперь кажется, что все в порядке. Спасибо – vbNewbie
ХОТИТЕ ДОБАВИТЬ это также; полезен для меня; изменение названия окна командной строки ---> TITLE новое название – vbNewbie