Usando um lote para fazer backup de um diretório (Chrome). Estou usando o Gerenciador de Tarefas Agendadas do Windows nativo para executar ping e executar o arquivo (funcionando muito bem). No entanto, se eu for para a cama (esquecendo de desligar o Chrome), naturalmente não consigo um backup completo.
Portanto, adicionei o else if
, no entanto, se eu desligar o Chrome, o arquivo será executado, mas ficará "sujo". Como posso adicionar um "se não"? Eu aninho dentro do else if
?
Aqui está o que estou executando, novamente funciona (independentemente de o Chrome estar desligado ou não), mas não "limpo". Gostaria de torná-lo limpo, ou seja, mostrando um erro como "O Chrome não existe".
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
Não tenho certeza onde colocar o comando "IF NOT EXISTS".
Responder1
Estruture seu arquivo em lote assim:
@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.
)