如何在同一个批处理文件中使用 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.
)

相关内容