同じバッチ ファイルで IF ELSE 条件と IF NOT 条件を使用するにはどうすればよいでしょうか?

同じバッチ ファイルで IF ELSE 条件と IF NOT 条件を使用するにはどうすればよいでしょうか?

ディレクトリをバックアップするためのバッチの使用 (Chrome)。ネイティブの Windows スケジュール タスク マネージャーを使用して、ping を実行し、ファイルを実行します (うまく機能しています)。ただし、就寝すると (Chrome をシャットダウンするのを忘れると)、当然ながら完全なバックアップは取得されません。

そのため、 を追加しましたelse ifが、Chrome をシャットダウンすると、ファイルは実行されますが、かなり「ダーティ」になります。 「if not」を追加するにはどうすればよいでしょうか。 内にネストするのでしょうか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

「IF NOT EXISTS」コマンドをどこに置くかわかりません。

答え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.
)

関連情報