Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - BATник с запуском CHKDSK

Ответить
Настройки темы
CMD/BAT - BATник с запуском CHKDSK

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, необходима помощь.

Помоги написать bat который, будет делать в текстовом файле отметки о включении и выключении компьютера. В случае если предыдущий сеанс работы закончился аварийно - запускать CHKDSK.

Как сделать записать времени включения знаю, вот с выключением сложность, а про аварийное завершение и запуск CHKDSK вообще беда.
Желательно на Win 7.

Заранее благодарю.

Отправлено: 11:54, 21-01-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата arrowhead101:
Как сделать записать времени включения знаю, вот с выключением сложность »
Ровно так же, как и со включением — редактор групповой политики:
Код: Выделить весь код
Политика "Локальный компьютер"	
   Конфигурация компьютера	
      Конфигурация программ	
      Конфигурация Windows	
         Сценарии (запуск/завершение)
параметры «Автозагрузка»/«Завершение работы».

Цитата arrowhead101:
а про аварийное завершение и запуск CHKDSK вообще беда. »
Например, пакетный файл «на включение» должен проверять существование некоего заранее определённого файла по определённому пути. Если последний существует — пакетный файл выполняет chkdsk, если не существует — создаёт этот файл. Пакетный файл «на выключение» удаляет этот файл.

Таким образом, при корректном выключении определённый файл будет удалён и в момент следующего включения будет отсутствовать. В противном случае файл не будет удалён, и при следующем включении его существование обнаружит пакетный файл «на включение» и выполнит chkdsk.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:08, 21-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Тоесть, делаем batник
startlog.bat
Код: Выделить весь код
@echo
Start Win %date% %time% >>C:\log.txt
и finishlog.bat
Код: Выделить весь код
@echo  Finish Win %date% %time% >>C:\log.txt
Start file>C:\start.txt
Как дописать к первому чтобы он проверял на наличие файла и запускал CHKDSK?

Отправлено: 17:33, 21-01-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата arrowhead101:
Тоесть, делаем batник
startlog.bat »
On.cmd:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

>>"c:\log.txt" echo %date% %time%

if exist "c:\ForChkDsk.log" (
	chkdsk.exe c: /f
) else (
	>nul copy /y nul "c:\ForChkDsk.log"
)

endlocal
exit /b 0
и добавляем его в «Автозагрузка» в:
Код: Выделить весь код
Политика "Локальный компьютер"	
   Конфигурация компьютера	
      Конфигурация программ	
      Конфигурация Windows	
         Сценарии (запуск/завершение)
Цитата arrowhead101:
и finishlog.bat »
Off.cmd:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

>>"c:\log.txt" echo %date% %time%

if exist "c:\ForChkDsk.log" (
	del /f /q "c:\ForChkDsk.log"
)

endlocal
exit /b 0
и добавляем его в «Завершение работы» туда же, в:
Код: Выделить весь код
Политика "Локальный компьютер"	
   Конфигурация компьютера	
      Конфигурация программ	
      Конфигурация Windows	
         Сценарии (запуск/завершение)
В реальности же никакого смысла в подобных костылях для chkdsk нет:
читать дальше »
  • механизм определения и управления уже наличествует в ОС;
  • проверка %SystemDrive% в момент, когда уже загружен интерфейс, бессмысленна; мы получим сообщение об открытых дескрипторах на томе и предложение, наподобие:
    Цитата:
    Невозможно выполнить команду CHKDSK, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы? [Y(да)/N(нет)]
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:36, 21-01-2014 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое, дело не в костылях, это задание для учебы)

Отправлено: 21:21, 21-01-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


arrowhead101, я примерно так и представлял. Тогда можете и «В реальности же никакого смысла…» использовать комментарием к нему.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:50, 21-01-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Подумалось, что, по-хорошему, надо различать в логе события загрузки и завершения работы. Измените «>>"c:\log.txt" echo %date% %time%», скажем, на:
Код: Выделить весь код
>>"c:\log.txt" echo %date% %time% Start
и:
Код: Выделить весь код
>>"c:\log.txt" echo %date% %time% Stop
для «On.cmd» и «Off.cmd» соответственно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:28, 22-01-2014 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - BATник с запуском CHKDSK

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Помогите додумать batник. extreen@vk Windows Server 2008/2008 R2 2 19-03-2013 08:30
Помогите написать batник phoenix129 Тест-форум 3 05-11-2010 10:12
Помогите написать Batник phoenix129 Тест-форум 3 03-11-2010 21:03
Проблема с запуском chkdsk: недостаточно привилегий nod201 Microsoft Windows Vista 4 09-04-2007 18:51
Помогите Batник написать. kda12 Microsoft Windows NT/2000/2003 10 10-05-2006 23:34




 
Переход