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

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

Ответить
Настройки темы
CMD/BAT - Батник для запуска chkdsk по первым числам месяца

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


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

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


Всех приветствую!

Нужен батник, который будет запускаться через GPO, и выполнять следующие операции только по 01 числам:

1. Определение даты
2. Если дата = 01, то выполняется команда “echo y|chkdsk %systemdrive% /f /x” и c последующей перезагрузкой компьютера.
3. Если дата не ровняется 01, то ничего не происходит.

помогите пожалуйста, с батником.

Отправлено: 19:59, 05-07-2014

 

Ветеран


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

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


Код: Выделить весь код
@echo off
for /f "delims=./" %%i in ("%date%") do (
 for /f "tokens=* delims=0 " %%j in ("%%i") do (
  if %%j==1 (
   echo y| chkdsk %systemdrive% /f /x
   )
  )
 )
exit /b

Отправлено: 20:38, 05-07-2014 | #2



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

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


Ветеран


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

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


Вообще-то для этого предназначено «chkntfs.exe /c …» (и «fsutil.exe dirty set …», если так уж хочется принудительной проверки): Chkdsk.

Примерно так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
	`wmic.exe OS get LocalDateTime ^| findstr.exe /r /c:"......01.*"`
) do (
	echo y|chkdsk.exe %SystemDrive% /f /x
	shutdown.exe -r -t 10
)

endlocal
exit /b 0

Отправлено: 06:43, 06-07-2014 | #3


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


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

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


Georgio и Iska, спасибо! Отрабатывают оба батника.

Проверил через GPO в домене на клиенте Win 7.

Только в первом варианте убрал пробел между «y| chkdsk», и добавил shutdown.exe -r -t 10 как во втором варианте.

Цитата Iska:
Вообще-то для этого предназначено «chkntfs.exe /c …» (и «fsutil.exe dirty set …», если так уж хочется принудительной проверки): Chkdsk. »
Вы считает, что не совсем правильно выполнять проверку диска chkdsk?

Тут только возник один неприятный момент: происходит циклическая перезагрузка-проверка.

А можно ли, как нибудь приделать, чтобы проверка выполнялась только один раз в сутки?

А то даже если отказаться от команды «shutdown.exe -r -t 10», то все равно будет каждый раз при перезагрузке, в течении дня отрабатываться команда на проверку.

Отправлено: 12:19, 06-07-2014 | #4


Ветеран


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

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


Цитата PowerZ:
Тут только возник один неприятный момент: происходит циклическая перезагрузка-проверка.

А то даже если отказаться от команды «shutdown.exe -r -t 10», то все равно будет каждый раз при перезагрузке, в течении дня отрабатываться команда на проверку. »
Цитата PowerZ:
Вы считает, что не совсем правильно выполнять проверку диска chkdsk? »
Вот поэтому я и привёл ссылку, чем можно заменить .

«Приделать»-то, конечно, всё можно, если вертеть в руках достаточно долго, но мне, в принципе, вовсе непонятен смысл Вашего желания назначать периодическую проверку системного раздела при загрузке системы в рамках групповой политики. Операционные системы на базе NT, как правило, вполне справляются сами с отслеживанием ситуаций, требующих проверки разделов на наличие ошибок (в отличие от старых ОС).

Отправлено: 05:15, 07-07-2014 | #5


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


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

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


Цитата Iska:
«Приделать»-то, конечно, всё можно, если вертеть в руках достаточно долго, но мне, в принципе, вовсе непонятен смысл Вашего желания назначать периодическую проверку системного раздела при загрузке системы в рамках групповой политики. Операционные системы на базе NT, как правило, вполне справляются сами с отслеживанием ситуаций, требующих проверки разделов на наличие ошибок (в отличие от старых ОС). »
Суть решения назначить проверку диска принудительно через групповые политики 1-раз в месяц такова, что когда начинаешь выполнять именно принудительно такую проверку, то примерно у 5-10 машин в сети (из 200), есть ошибки. Хотя да, согласен, что NT должны сами автоматом исправлять ошибки.
Парк машин 50/50 = XP/7 (не считая серверную часть). Ошибки возникают как на XP, так и на 7. Особенно статистика показывает, что больше возникает ошибок на машинах, где весь день сёрфят в интернете.
Сейчас на данный момент задача запуска один раз в месяц, - решается с помощью корпоративного касперского, через задачи (запихнул туда батник). Почему смотрю в сторону запуска через GPO? Потому что антивирус не на всех машинах есть.
Попробую изучить альтернативу chkntfs.exe

Отправлено: 08:56, 07-07-2014 | #6


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


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

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


Пока сделал так:
Код: Выделить весь код
@echo off
forfiles /p %systemdrive% /m chkdsk.log /d -1 /c "cmd /c del /q /f @file"
if not exist "%systemdrive%\chkdsk.log" (
for /f "delims=./" %%i in ("%date%") do (
 for /f "tokens=* delims=0 " %%j in ("%%i") do (
  if %%j==1 (
   echo y|chkdsk %systemdrive% /f /x > %systemdrive%\chkdsk.log
   shutdown.exe -r -t 10
   )
  )
 )
)
exit /b
Со вторым батником не заработало.
Подскажите, как заменить forfiles удаление лога, на альтернативу, т.к. forfiles – нет в XP?

Отправлено: 11:00, 08-07-2014 | #7


Ветеран


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

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


Цитата PowerZ:
т.к. forfiles – нет в XP? »
Есть. Берите из комплектов Resource Kit'ов.

Отправлено: 14:40, 08-07-2014 | #8


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


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

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


Взять forfiles конечно с Resource Kit'ов можно, но надо же распространить на все компы с XP в сети, тут уже другая заморочка. Хочется, чтобы из коробки было.
А если пойти другим путем, - как инвертировать батник, чтобы выполнялась команда "del файл" – всегда, кроме первого числа?

Отправлено: 14:52, 08-07-2014 | #9


Ветеран


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

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


Цитата PowerZ:
но надо же распространить на все компы с XP в сети »
я в логон скрипте копирую частоиспользуемые, но некоробочные и\или самописные утилиты с сервера в %temp% рабочей станции. Оттуда и вызываю.

Код: Выделить весь код
if not exist %temp%\myutil.exe  copy \\server\share\myutil.exe %temp%\
Кстати..а что будет со станцией, которую, ну так вышло... никогда не включают 1-го числа?))

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 17:42, 08-07-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Батник для сравнения 2-х текстовых файлов по строчно. ppt_ Скриптовые языки администрирования Windows 3 22-04-2013 17:50
CMD/BAT - [решено] батник для запуска службы audiospv vladrti Скриптовые языки администрирования Windows 2 26-11-2012 06:40
CMD/BAT - Батник для заливки файла по ftp djalin Скриптовые языки администрирования Windows 11 15-05-2012 12:37
CMD/BAT - батник для запуска taskmgr.exe до заставки приветствия windows exekill Скриптовые языки администрирования Windows 0 06-12-2011 02:41
Батник для запуска отчета в 1С Zlohobbit Программирование и базы данных 2 26-02-2004 11:44




 
Переход