Проверка условия в bat команде? День добрый. Имеется простенький скрипт @echo off mkdir "Z:\1c_backup\Backup-%date:.=%" xcopy /E "C:\1c_backup" "Z:\1c_backup\Backup-%date:.=%\" TIMEOUT /T 2 /NOBREAK rd /s /q "C:\1c_backup" md "C:\1c_backup" TIMEOUT /T 10 /NOBREAK Как сделать чтобы перед удалением "rd /s /q "C:\1c_backup"", проверялось, выполнено ли условие "mkdir "Z:\1c_backup\Backup-%date:.=%"". Если нет, то прекратить выполнение скрипта
Вам нужно добавить проверку условия перед выполнением команды удаления. Для этого можно использовать конструкцию IF NOT EXIST:
@echo off mkdir "Z:\1c_backup\Backup-%date:.=%" IF NOT EXIST "Z:\1c_backup\Backup-%date:.=%" ( echo Условие не выполнено, прекращаем выполнение скрипта EXIT ) xcopy /E "C:\1c_backup" "Z:\1c_backup\Backup-%date:.=%\" TIMEOUT /T 2 /NOBREAK rd /s /q "C:\1c_backup" md "C:\1c_backup" TIMEOUT /T 10 /NOBREAK
Этот скрипт первым делом создает директорию с помощью команды mkdir, затем проверяет с помощью IF NOT EXIST, существует ли эта директория. Если условие не выполнено, то скрипт выводит сообщение и завершает свое выполнение с помощью команды EXIT. Если условие выполнено, то скрипт продолжает выполнение командой xcopy и остальными командами.
Вам нужно добавить проверку условия перед выполнением команды удаления. Для этого можно использовать конструкцию IF NOT EXIST:
@echo offmkdir "Z:\1c_backup\Backup-%date:.=%"
IF NOT EXIST "Z:\1c_backup\Backup-%date:.=%" (
echo Условие не выполнено, прекращаем выполнение скрипта
EXIT
)
xcopy /E "C:\1c_backup" "Z:\1c_backup\Backup-%date:.=%\"
TIMEOUT /T 2 /NOBREAK
rd /s /q "C:\1c_backup"
md "C:\1c_backup"
TIMEOUT /T 10 /NOBREAK
Этот скрипт первым делом создает директорию с помощью команды mkdir, затем проверяет с помощью IF NOT EXIST, существует ли эта директория. Если условие не выполнено, то скрипт выводит сообщение и завершает свое выполнение с помощью команды EXIT. Если условие выполнено, то скрипт продолжает выполнение командой xcopy и остальными командами.