PDA

Показать полную графическую версию : [решено] chkdsk "принудительно" и "по расписанию"


tarakan1983
03-06-2011, 23:47
Есть компы, которые работают 7/24, задача: СТАНДАРТНЫМИ средствами Windows запускать хотя бы 1 раз в месяц команду
chkdsk %systemdrive% /f /r
Проблема в том, что эта сволочь требует подтверждение "запустить проверку при следующей перезагрузке?". Надо в автомате ответить "ДАААААА!"
как это можно сделать?

ferget
04-06-2011, 00:40
здесь
http://forum.oszone.net/thread-129503.html

tarakan1983
04-06-2011, 02:29
ferget, там целая история, объявить диск грязным, потом запустить кучу батников. Нашлось решение проще.

Как автоматически ответить на запрос о подтверждении Некоторые команды при выполнении требуют подтверждения потенциально опасного действия. Например, такие команды как format или del предварительно запросят подтверждения на дальнейшее выполнение. Если одна из этих команд выполняется в пакетном файле, то запрос на подтверждение остановит выполнение пакетного файла и он будет ожидать от пользователя выбора одного из предложенных вариантов. Причем, если результат выполнение пакетного файла перенаправлен в лог-файл, то пользователь не увидит запроса на подтверждение и batch файл будет выглядеть зависшим. Для исправления таких неприятностей можно перенаправить нужный ответ в команду. Т.е. выполнить обратное действие для перенаправления вывода результатов работы команды в файл. Посмотрим на примере как выглядит запрос на подтверждение потенциально опасного действия. Создадим на диске С, например, папку Folder. Создадим в ней или скопируем в нее два любых файла. Далее, откроем командную строку и выполним следующую команду:
del C:\Folder
Эта команда должна удалить все файлы из указанной папки. Но предварительно будет выдан запрос для подтверждения следующего содержания:
C:\Folder\*, Продолжить [Y(да)/N(нет)]?
Выполнение команды будет остановлено до тех пор, пока не будет нажата либо клавиша Y, либо клавиша N. При выполнении пакетного файла в автоматическом режиме, его исполнение остановится. Чтобы избежать этого используем перенаправление. Перенаправление осуществляется при помощи символа |

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

echo Y|del C:\Folder

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

Iska
04-06-2011, 04:47
tarakan1983, посредством WMI есть возможность использовать метод Chkdsk (http://msdn.microsoft.com/en-us/library/aa384913(v=vs.85).aspx) класса «Win32_LogicalDisk», задав его параметр «OKToRunAtBootUp».




© OSzone.net 2001-2012