2015-07-27 2 views
0

Мне нужно создать летучую мышь, которая распознает, работает ли процесс, и если процесс выполняется, мне нужно добавить приглашение, спрашивающее, хочет ли пользователь завершить процесс до продолжайте выполнять другие задачи. У меня есть команда, чтобы распознать, если процесс запущен (это тот, который работал для меня):Команды BAT, чтобы узнать, запущен ли процесс и отобразить приглашение

@echo off 
tasklist /nh /fi "imagename eq vmware-view.exe" | find /i "vmware-view.exe" >nul && (
echo VMWare Horizon is running 
) || (
echo VMWare Horizon is not running 
) 
pause>nul 

и у меня есть команда на незамедлительный для Imput:

@echo off 
setlocal 
:PROMPT 
SET /P AREYOUSURE=Are you sure (Y/[N])? 
IF /I "%AREYOUSURE%" NEQ "Y" GOTO END 

Но я не знаю, как поставить эти 2 вместе, чтобы сказать, что, если процесс запущен, выведите подсказку, спрашивая пользователя, может ли bat завершить процесс, чтобы продолжить обновление, и если он не работает, просто продолжайте обновление.

не могли бы вы помочь? Заранее спасибо

ответ

0

Я помню из старых дней DOS, что вы могли бы использовать GOTO.

, например, файл летучая мышь, содержащий следующее:

@ECHO OFF 
ECHO something 
GOTO LABEL0 

ECHO something else 
GOTO LABEL1 

:LABEL0 
ECHO some label 

:LABEL1 
ECHO some other label 

напечатает:

something 
some label 
some othe label 

вы не увидите

something else 

, потому что первый GOTO обезательно LABEL0

Вы можете использовать ярлык типа: QUIT или: END в конце вашей биты и пропустить в конце, если вам нечего делать.

0

Используйте ERRORLEVEL, чтобы узнать, получил ли TASKLIST и FIND процесс. Затем используйте CHOICE.

@echo off 
set task=vmware-view.exe 

tasklist | find /i "%task%" > nul 
if %errorlevel%==0 (
    echo task is running. 
    choice /c yn /t 10 /d n /m "should we kill it?" 
    if errorlevel 2 goto end 
    taskkill /f /im "%task%" 
) else (
    echo task is not running. 
) 

:update 
echo updating... 

:end 
+0

Спасибо! это именно то, что я искал. :) – gmassamo

Смежные вопросы