Как использовать условия IF ELSE и IF NOT в одном пакетном файле?

Как использовать условия IF ELSE и IF NOT в одном пакетном файле?

Использование пакета для резервного копирования каталога (Chrome). Я использую собственный диспетчер задач Windows Schedule Task Manager для ping, запуска файла (работает отлично). Однако, если я ложусь спать (забыв закрыть Chrome), естественно, я не получаю полную резервную копию.

Поэтому я добавил else if, однако если я выключу Chrome, файл запустится, но он будет довольно "грязным". Как мне добавить "если нет"? Мне вложить его внутрь else if?

Вот что я запускаю, опять же работает (независимо от того, закрыт Chrome или нет), но не "чисто". Я хотел бы сделать его чистым, т. е. показывать ошибку типа "Chrome не существует".

IF EXIST CHROME COMMAND (
    set drive=C:
    echo ### Killing Chrome Task
    taskkill  /F /IM chrome.exe /T
    PING 1.1.1.1 -n 1 -w 60000 >NUL
)
ELSE (
    :: variables 
    set drive=E:\BrowserBackups\Chrome
    set folder=%DATE:~4,2%_%DATE:~7,2%_%DATE:~10,4%_%RANDOM%
    set backupcmd=xcopy /C/E/H/I/R/K/Y
    echo ### Backing up directory...
    %backupcmd% "%USERPROFILE%\Local Settings\Application Data\Google\Chrome"
                "%drive%\%folder%"
)
pause

Не уверен, куда вставить команду «ЕСЛИ НЕ СУЩЕСТВУЕТ».

решение1

Структурируйте свой пакетный файл следующим образом:

@echo off
tasklist /fi "imagename eq chrome.exe" 2>NUL | find /c /i "chrome.exe">NUL
if [%errorlevel%]==[0] (
    echo Chrome is running!
    echo Kill it and then backup settings.
) else (
    echo Chrome is not running!
    echo Can backup settings now.
)

Связанный контент