Supprimer des fichiers plus âgés 2 jours à quelques exceptions près

J'ai besoin de supprimer des fichiers sur deux jours dans le dossier, à l'exception des fichiers modifiés pour la dernière fois. 1 nombre de chaque mois. Forfiles Ne prend pas en charge les exceptions. Système opérateur - Windows Server 2003. Des idées?

Merci à tous pour l'aide!
Invité:

Alice

Confirmation de:

Je dirais que cela dépendra de votre connaissance et de votre confort avec les langages de programmation / Scripts.

Par exemple, ici PowerShell
http://www.networknet.nl/apps/ ... -days
. Je suis plus non indifférent aux variétés Python, Perl (* nix / Linux), Et quelque chose comme ça serait assez simple dans Python (
http://bytes.com/topic/python/ ... ctory
).

Ces deux exemples sont pris de Google.

PowerShell Supprime les fichiers plus anciens

ou

python Supprime les fichiers plus anciens

... Au cas où vous voulez vérifier les alternatives.

Je ne connais pas d'outils d'interface graphique ou d'outils de personnalisation rapides pour le faire, car ils n'ont jamais été nécessaires. Dans la plupart des cas, tout ce que vous demandez, vous pouvez coder moins que dans 20 Lignes.

Dominique

Confirmation de:

Rapide et sale VBScript Ici, il suggère le format de date au Royaume-Uni à répertorier si le fichier fait référence au 1er jour du mois. Si vous utilisez un autre format de date, modifiez la commande TIM pour capturer les positions correspondantes des chiffres. Par exemple, la date aux États-Unis sera Mid (objFile.DateLastModified, 4, 2) = 01, mais non Left (objFile.DateLastModified, 2) = 01.

En tout cas, désolé pour le code sale ... Mais il devrait vous aider à commencer.

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

Pour répondre aux questions, connectez-vous ou registre