Uso de un lote para realizar una copia de seguridad de un directorio (Chrome). Estoy usando el Administrador de tareas de programación nativo de Windows para hacer ping y ejecutar el archivo (funciona muy bien). Sin embargo, si me voy a la cama (olvidándome de apagar Chrome), naturalmente no obtengo una copia de seguridad completa.
Por lo tanto, agregué el archivo else if
, sin embargo, si cierro Chrome, el archivo se ejecuta, pero está bastante "sucio". ¿Cómo puedo agregar un "si no"? ¿Lo anido dentro del else if
?
Esto es lo que estoy ejecutando, nuevamente funciona (independientemente de si Chrome está apagado o no), pero no está "limpio". Me gustaría dejarlo limpio, es decir, mostrando un error como "Chrome no 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
No estoy seguro de dónde colocar el comando "SI NO EXISTE".
Respuesta1
Estructura tu archivo por lotes de esta manera:
@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.
)