Сбой пакетного файла при использовании IF DEFINED

#batch-file

#пакетный файл

Вопрос:

Я пишу пакетный файл для резервного копирования своих личных файлов. Я создал файл конфигурации, который отлично работает, если я не использую «IF DEFINED». Затем происходит сбой. Вот мой код для этой части:

 IF DEFINED source_1 (

   IF DEFINED dest_1 (

     IF DEFINED name_1 (

        Other code here

     )
   )
)
  

Даже если я удаляю код внутри этого блока, он все равно вылетает! Спасибо за вашу помощь!

Комментарии:

1. Что это за сообщение об ошибке?

2. Его нет. Окно просто закрывается.

3. Запустите пакет в существующем окне командной строки. Убедитесь, что нет echo off .

Ответ №1:

Тот же код, более простая компоновка, не приведет к сбою.

 IF DEFINED source_1 IF DEFINED dest_1 IF DEFINED name_1 (

        Other code here

)
  

Но ваш код работает нормально — протестируйте это:

 @echo off
IF DEFINED source_1 (

   IF DEFINED dest_1 (

     IF DEFINED name_1 (

        echo Other code here

     )
   )
)
pause