Проверка нескольких дисков chkdsk

Задача: на машине стоят 3 диска(c, d, e). Нужно добавить в расписание проверку сразу нескольких дисков на ошибки с помощью команды chkdsk с поиском поврежденных секторов и восстановлением, и выводом на экран списка файлов.

Решение: создать CMD или BAT и добавить в расписание. Содержимое:

echo Y|chkdsk c: /F /R /V && echo Y|chkdsk d: /F /R /V && echo Y|chkdsk e: /F /R /V

Выполнение нескольких команд в консоли Windows (cmd)

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

  • команда1 & команда2 — Используется для разделения нескольких команд в одной командной строке. В cmd.exe выполняется первая команда, затем вторая команда.
  • команда1 && команда2 — Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.
  • команда1 || команда2 — Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).

Пример:

attrib -H "file.txt" && ren "file.txt" "file.tmp"

С файла file.txt будет снят атрибут «Скрытый» и если команда attrib при этом не вернёт ошибку, файл будет переименован в file.tmp.

Как в 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 будут удалены.

Источники:

http://palexa.pp.ua/blog/windows/pishem-v-cmd-bat/kak-v-bat-fajle-avtomaticheski-otvetit-da-na-zapros-o-podtverzhdenii.html

http://xandeadx.ru/blog/raznoe/38

Довольны?
[Оценок: 0 средняя: 0]

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

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