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

Показать сообщение отдельно

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


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

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


Вроде вопрос решен, но другим методом:
1. Отказался от запуска по первым числам (тут не так важно именно по первым числам, а главное один раз в месяц).
2. Нашел в сети альтернативный батник для удаления файла по истечению срока, в данном случае замена "forfiles"

Батник при запуске системы (выполняется удаление файла "chkdsk.log", по истечению 30 дней):
читать дальше »
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set N=30
set MASK=chkdsk.log
set SOURCE=%SYSTEMDRIVE%
call :raschet %date% days_to_today

pushd %SOURCE%
for /f "tokens=*" %%a in ('dir /b /a:-d %MASK%') do (
   set filedate=%%~ta
   call :raschet !filedate:~0,10! days_to_date_of_file
   set /a raznitsa=%days_to_today%-!days_to_date_of_file!
   if !raznitsa! gtr %N% del /q "%%a"
)
popd
exit

:raschet
for /f "delims=. tokens=1-3" %%a in ('echo %~1') do (

   set /a years=%%c*365+%%c/4
   set /a prev_year=%%c-1
   set /a result_year=%%c/4
   set /a result_prev_year=!prev_year!/4
   set /a vis=!result_year!-!result_prev_year!
   if !vis!==1 (
      if %%b==01 set /a years=!years!-1
      if %%b==02 set /a years=!years!-1
   )

   if %%b==01 set months=0
   if %%b==02 set months=31
   if %%b==03 set months=59
   if %%b==04 set months=90
   if %%b==05 set months=120
   if %%b==06 set months=151
   if %%b==07 set months=181
   if %%b==08 set months=212
   if %%b==09 set months=243
   if %%b==10 set months=273
   if %%b==11 set months=304
   if %%b==12 set months=334

   set days=%%a
   set firstsym=!days:~0,1!
   if !firstsym!==0 set days=!days:~1,1!

   set /a %~2=!years!+!months!+!days!
)


Батник при завершение работы системы (выполняется проверка существования файла "chkdsk.log", если нет, то выполняет chkdsk, и при следующем перезагрузке будет произведена проверка и исправление диска на ошибки).

читать дальше »
Код: Выделить весь код
@echo off
if not exist "%systemdrive%\chkdsk.log" (
   echo y|chkdsk %systemdrive% /f /x > %systemdrive%\chkdsk.log
)
exit /b

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