Нужен батник чтоб удалял папки выше 10 дней
Добрый день!
Смотрю есть люди которые выручают друг друга. Выручите народ пожалуйста и меня! :) Очень нужен бат-файл чтобы удалял старые папки свыше 10 дней. Пример: есть путь D:\arhiv В данной папке "arhiv" создаются папки с именем, формата "20110420" в которых содержатся файлы. Вот и нужен батник чтобы удалял все старые папки по данному пути. Заранее благодарен!!! |
да еще забыл сказать, что в этих папках хронятся файлы формата .txt
|
|
Vadikan, спасибо за совет, но там в основном написано как удалять файлы.
А это я знаю. Меня больше интересует как можно удалять папки сроком выше 10 дней. Но как известно папка не будет удалена пока она не пуста. Вот в этом и загвостка. По этому я к вам и пришел. Нужен батник который сможет удалять получается файлы в подкаталогах свыше 10 дней или сразу папки свыше 10 дней. Как написать я не знаю.... в этом деле не очень силен, так начинающий только. |
Код:
@Echo Off Подозреваю, что короче получится, если использовать утилиту forfiles, но стандартно она имеется в системе далеко не всегда. |
megaloman, респект и уважение тебе! долгих лет жизни! Я в восторге! Все работает!
Но вот еще один вопрос появился, а можно ли в одном батнике написать несколько путей? в данном примере D:\arhiv, а можно допустим D:\arhiv\1\1\2 и D:\arhiv\1\1\3 Пример того что хочу объяснить: Set Arhiv=D:\arhiv\1\1\2 Set Arhiv=D:\arhiv\1\1\3 ...а потом уже пошло Set DeltaDay=-10 SetLocal EnableDelayedExpansion Call :FromNow %DeltaDay% %Date% Спасибо тебе огромное, megaloman |
Самое простое сделать несколько циклов последовательно вместо одного из предыдущего решения, если в папках всё те же архивы с именами по дате и убить надо одинаково старые папки
Код:
Set Arhiv=D:\arhiv\1\1\2 |
Код:
@echo off &setlocal enableextensions |
vbs удаляет все в указанной директории
set fso=Wscript.CreateObject("Scripting.FileSystemObject") dir="C:\mail" Set f = fso.GetFolder(dir) Set fc = f.Files For Each f1 in fc d= f1.DateCreated diff=DateDiff("d",d,Now) if diff>10 Then # лол-во дней WScript.Echo "DELETE! " & f1.name fso.DeleteFile(dir & "\" & f1.name) end if Next |
Цитата:
|
Цитата:
|
Время: 20:03. |
Время: 20:03.
© OSzone.net 2001-