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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] удаление файлов по маске, созданных за прошлые сутки

Ответить
Настройки темы
Любой язык - [решено] удаление файлов по маске, созданных за прошлые сутки

Пользователь


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

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


подскажите пожалуйста текст bat файла который бы удалял файлы с именем AN*.log созданные за прошлые сутки. Меня больше интересует как реализуется поиск файлоы за прошлые сутки и их удалениею. спасибо

Отправлено: 06:40, 01-04-2009

 

Googler


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

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


где-то так...
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set ROOT=C:\DIR\AN*.log

Call :GetDate
Call :GetYesterday

For %%i In (%ROOT%) Do For /F "Tokens=1" %%j In ("%%~ti") Do If "%%j"=="%Yesterday%" DEL /F/Q "%%i"
Exit

Rem Восстановление вчерашней даты
:GetYesterday
 Call :GetMnthDays
 Set /A Day-=1
 IF %Day% EQU 0 (
	Set /A MNDF=%Year%*12+%Month%-2
	Set /A Year=!MNDF!/12
	Set /A Month=!MNDF!-!Year!*12+1

	Call :GetMnthDays
	Set /A Day=!MnthDays!
 )
 Set Month=0%Month%&Set Day=0%Day%
 Set Month=%Month:~-2%&Set Day=%Day:~-2%

 If %iDate%==0 Set Yesterday=%Month%%sDate%%Day%%sDate%%Year%
 If %iDate%==1 Set Yesterday=%Day%%sDate%%Month%%sDate%%Year%
 If %iDate%==2 Set Yesterday=%Year%%sDate%%Month%%sDate%%Day%
GoTo :EOF

Rem Число дней в заданном месяце
:GetMnthDays
 Call :IsYearVisok
 For /F "Tokens=%Month%" %%i IN ("31 28 31 30 31 30 31 31 30 31 30 31") Do Set MnthDays=%%i
 If %Month% EQU 2 Set /A MnthDays += %IsVisok%
GoTo :EOF

Rem Проверка года на високосность
:IsYearVisok
 Set /A M1=%Year%-(%Year%/4)*4
 Set /A M2=%Year%-(%Year%/100)*100
 Set /A M3=%Year%-(%Year%/400)*400

 Set IsVisok=0
 If 0 EQU %M1% If 0 NEQ %M2% Set IsVisok=1
 If 0 EQU %M3% Set IsVisok=1
GoTo :EOF

Rem Чтение текущей даты в переменные окружения
:GetDate
 For /F "Tokens=1,3" %%i IN ('REG QUERY "HKCU\Control Panel\International" /s^|FindStr /C:"iDate" /C:"sDate"') DO Set %%i=%%j
 For /F "Tokens=1-4* Delims=%sDate% " %%A IN ("%Date%") Do (
	If %iDate% EQU 0 Set Year=%%C&Set Month=%%A&Set Day=%%B
	If %iDate% EQU 1 Set Year=%%C&Set Month=%%B&Set Day=%%A
	If %iDate% EQU 2 Set Year=%%A&Set Month=%%B&Set Day=%%C
 )
GoTo :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:51, 06-04-2009 | #2



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] удаление файлов по маске, созданных за прошлые сутки

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
CMD/BAT - [решено] Удаление созданных папок и файлов по времени zavoruev Скриптовые языки администрирования Windows 24 22-04-2013 10:36
CMD/BAT - [решено] Копирование файлов по маске за вчерашний день dvassilyev Скриптовые языки администрирования Windows 8 19-10-2011 19:36
CMD/BAT - [решено] Перемещение (удаление) директорий по маске ven00m Скриптовые языки администрирования Windows 17 15-11-2009 10:24
VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю KillHunter Скриптовые языки администрирования Windows 5 06-03-2009 12:23




 
Переход