Usuń pliki starsze niż 2 dni z pewnymi wyjątkami


Muszę usunąć pliki starsze niż dwa dni w folderze, z wyjątkiem plików ostatnio modyfikowanych pierwszego dnia każdego miesiąca. Forfiles nie obsługuje wyjątków. System operacyjny to Windows Server 2003. Jakieś pomysły?
Dziękuję wszystkim za pomoc!
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Twierdzę, że będzie to zależeć od twojej znajomości języków programowania/skryptów i wygody.
Na przykład tutaj jest PowerShell

przykład
http://www.networknet.nl/apps/ ... ys... Jestem bardziej skłonny do smaków Pythona, Perla (* nix/Linux) i coś takiego byłoby całkiem łatwe w Pythonie (

przykład
http://bytes.com/topic/python/ ... ctory
).
Oba te przykłady pochodzą z Google.

PowerShell usuwa starsze pliki

lub

python usuwa starsze pliki
... gdybyś chciał sprawdzić alternatywy.
Nie znam żadnych narzędzi GUI ani narzędzi do szybkiej konfiguracji, ponieważ nigdy ich nie potrzebowałem. W większości przypadków wszystko, o co pytasz, może być zakodowane w mniej niż 20 wierszach.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Szybki i brudny VBScript tutaj, przyjmuje format daty w Wielkiej Brytanii dla listy, jeśli plik jest pierwszego dnia miesiąca. Jeśli używasz innego formatu daty, zmień polecenie przycinania, aby uchwycić odpowiednie pozycje liczb. Na przykład data w USA to Mid (objFile.DateLastModified, 4, 2) = 01, a nie Left (objFile.DateLastModified, 2) = 01.
W każdym razie przepraszam za niechlujny kod ... ale to powinno zacząć.
strFolder = "C:\DeleteTest"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
strDaysOld = 2
'Get files from target folder
For Each File in colFiles
set objFile = objFSO.GetFile(strFolder & "\" & File.Name)
'Enumerate last modified date/time and delete if older than 2 days but where the date doesn't start with '01'
If objFile.DateLastModified < (Date() - strDaysOld) AND NOT Left(objFile.DateLastModified, 2) = 01 Then
objFSO.DeleteFile objFile, true
End If
Next

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się