Так в настоящее время я использую:Проверка на несколько разных ехе бежит с командным файлом
:METFEXTLOOP1
tasklist | find /i "Full_Index_Update.exe" >nul 2>&1
IF ERRORLEVEL 1 (
GOTO METFEXTLOOP2
) ELSE (
ECHO The Full Index Update is Running...
ping localhost -n 3 >nul
cls
GOTO METFEXTLOOP1
)
::Verify Early Index Update Is not Running
:METFEXTLOOP2
tasklist | find /i "Early_Index_Update.exe" >nul 2>&1
IF ERRORLEVEL 1 (
GOTO METFEXTLOOP3
) ELSE (
ECHO The Early Index Update is Running...
ping localhost -n 3 >nul
cls
GOTO METFEXTLOOP2
)
::Verify Morningstar US Mutual Funds Extended is not Running
:METFEXTLOOP3
tasklist | find /i "MstarExt.exe" >nul 2>&1
IF ERRORLEVEL 1 (
GOTO METFEXTLOOP4
) ELSE (
ECHO The Morningstar US Mutual Funds Extended Update is Running...
ping localhost -n 3 >nul
cls
GOTO METFEXTLOOP3
)
:METFEXTLOOP4
ECHO Hello World
pause
И что хорошо работает, но то, что я хотел бы сделать, это закрепить его больше, так как эта проверка выполняется после запуска каждого дополнительного обновления. Я думал, что я умный с:
@ECHO OFF
:FullLOOP
tasklist | find /i "SA_8.5_Setup.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "Early Index.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "MorningstarUSMutualFundsBasic.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "MorningstarUSMoneyMarketFundsBasic.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "MorningstarETFBasic.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "MorningstarUSMutualFundsExtended.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "LipperUSMutualFundsExtended.exee" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "LipperUSMutualFundsBasic.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "LipperUSMutualFundsBasic.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "PSNExtended.exe" >nul 2>&1
IF ERRORLEVEL 1 (
tasklist | find /i "PSNBasic.exe" >nul 2>&1
GOTO Proceed
) ELSE (
ECHO Another installer is running....
ping localhost -n 3 >nul
cls
GOTO FullLOOP
)
:Proceed
cls
ECHO Hello World
pause
Однако это происходит практически сразу. Есть ли «обманывающий» способ сделать это? Или мне нужно сделать несколько циклов, чтобы выполнить эти проверки. Это, наверное, глупая и очевидная ошибка с моей стороны. Однако любая помощь с этим была бы очень желанной и приветствуемой.
Спасибо за ответ, но это не похоже на работу. Он не проверяет постоянно или не выглядит так. Он либо застрянет на «Другой установщик работает ...», либо «Hello World» (продолжение установки дополнительных элементов). Я должен сказать, но это намного более симпатичная петля, чем моя длинная цепочка из них. Я занимаюсь этим и не могу заставить его работать. Есть ли способ проверить список задач, если% this% или%,% или% other% = 1, затем повторите проверку еще раз. – Pyrometheous