Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Как в bat файле, автоматически ответить "ДА", на запрос о подтверждении

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

Для исправления этой проблемы, можно перенаправить нужный ответ в команду, а именно, выполнить обратное действие для перенаправления вывода результатов работы команды в файл.

Давайте на примере посмотрим как выглядит такой запрос на подтверждение потенциально опасного действия. Создадим на диске С, например, папку test. Создадим в ней или скопируем в нее два любых файла. Далее, откроем командную строку и выполним следующую команду:

del C:\test

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

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

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

Чтобы избежать этого используем перенаправление, которое осуществляется при помощи символа -"|" (без кавычек)

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

echo Y|del C:\test

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

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить