如何在同一個批次檔中使用 IF ELSE 和 IF NOT 條件?

如何在同一個批次檔中使用 IF ELSE 和 IF NOT 條件?

使用批次備份目錄 (Chrome)。我正在使用本機 Windows 排程任務管理器來 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

不確定要將“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.
)

相關內容