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

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

Ответить
Настройки темы
CMD/BAT - Удаление папок определенного вида

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


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

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


Всем доброго времени суток!!!
Необходим батник удаляющий папки вида xxxx_xx_xx созданных по MD D:\%date:~6,4%_%date:~3,2%_%date:~0,2% по условию старше 7 дней.
Спасибо!!!

Отправлено: 00:47, 27-03-2013

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

Set Where=D:\
Set DeltaDay=-7

rem Пересчет даты на заданное кол-во дней
rem Формат даты dd.mm.yyyy +- дни получим новые yyyymmdd

Call :FromNow %DeltaDay% %Date%

SetLocal EnableExtensions EnableDelayedExpansion

FOR /F "usebackq delims=" %%i IN (`Dir "%Where%20??_??_??" /B /A:D /O:N`) DO (
	Set This=%%~nxi
	Set This=!This:~0,4!!This:~5,2!!This:~8,2!
	If !This! LEQ %yyyymmdd% (Rd "%%i" /s /q) Else (GoTo :Eof)
)
GoTo :Eof

:FromNow
 SetLocal
 Set DT=%2
 Set yyyy=%DT:~-4%& set /a mm=100%DT:~3,2%%%100& set /a dd=100%DT:~,2%%%100
 Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
 Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
 Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
 Set /A J=J+2-12*L,I=100*(N-49)+I+L
 Set /A yyyy=I,mm=100+J,dd=100+K
 EndLocal& Set yyyymmdd=%yyyy%%mm:~-2%%dd:~-2%
GoTo :Eof
Пересчет даты заимствовал здесь

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-03-2013 в 21:03.


Отправлено: 20:49, 28-03-2013 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Настройка вида папок через реестр Forpost Microsoft Windows 7 10 17-04-2018 14:14
Интерфейс - Сортировка и настройка вида папок kro44i Microsoft Windows 7 5 10-03-2013 16:29
Интерфейс - Проблемы с настройкой внешнего вида папки (папок) Lotto Microsoft Windows 2000/XP 42 19-04-2011 17:40
[решено] переустановка | настройки вида папок AlterEgoFS Автоматическая установка Windows 2000/XP/2003 0 25-11-2010 15:53




 
Переход