06.01.2020     0
 

Как автоматически ответить на запрос о подтверждении


Некоторые команды при выполнении требуют подтверждения потенциально опасного действия. Например, такие команды как format или del предварительно запросят подтверждения на дальнейшее выполнение. Если одна из этих команд выполняется в пакетном файле, то запрос на подтверждение остановит выполнение пакетного файла и он будет ожидать от пользователя выбора одного из предложенных вариантов. Причем, если результат выполнение пакетного файла перенаправлен в лог-файл, то пользователь не увидит запроса на подтверждение и batch файл будет выглядеть зависшим.
Для исправления таких неприятностей можно перенаправить нужный ответ в команду. Т.е. выполнить обратное действие для перенаправления вывода результатов работы команды в файл.
Посмотрим на примере как выглядит запрос на подтверждение потенциально опасного действия. Создадим на диске С, например, папку Folder. Создадим в ней или скопируем в нее два любых файла. Далее, откроем командную строку и выполним следующую команду:

del C:\Folder

Эта команда должна удалить все файлы из указанной папки. Но предварительно будет выдан запрос для подтверждения следующего содержания:

C:\Folder\*, Продолжить [Y(да)/N(нет)]?

Также читайте:  Как в bat-файле создать паузу перед выполнением следующей команды?

Выполнение команды будет остановлено до тех пор, пока не будет нажата либо клавиша Y, либо клавиша N. При выполнении пакетного файла в автоматическом режиме, его исполнение остановится.
Чтобы избежать этого используем перенаправление. Перенаправление осуществляется при помощи символа

|

Вертикальная черта говорит о том, что вместо вывода символа на экран его надо «отдать» следующей за символом команде. Проверим работу перенаправления. Выполните в командной строке следующую команду:

echo Y|del C:\Folder

На экране будет показан запрос на подтверждение удаления всех файлов в папке Folder, но уже с положительным ответом (Y). Все файлы из папки Folder будут удалены.
Будьте осторожны с этой командой.


Об авторе: admin

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *