cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 10 juil. 2009 à 00:14
Bonsoir,
Recherche récursive sur les répertoires avec delete files si DateLastModified >= 15 jours.
Pour les folders, il faut tester si size=0.
Dim cpt_files, cpt_folders, strList
MsgBox FnListeDossier("D:\SCRIPTS", 15, strList),,"Result"
Function FnListeDossier(argPath, argDays, strList)
Dim objFso, objSubFolderItem, objSubFileItem
Set objFso = CreateObject("Scripting.FileSystemObject")
For Each objSubFolderItem In objFso.GetFolder(argPath).SubFolders
FnListeDossier objSubFolderItem.Path, argDays, strList
If objFso.GetFolder(objSubFolderItem).Size = 0 Then
strList = strList & vbCrLf & objSubFolderItem.DateLastModified & Space(3) & _
"Delete Folder: " & Space(1) & objSubFolderItem.Path
'Supprimer le repertoire
''''''''''objFso.DeleteFolder objSubFolderItem.Path, True
cpt_folders=cpt_folders+1
End if
Next
For Each objSubFileItem In objFso.GetFolder(argPath).Files
If DateDiff("d", FormatDateTime(objSubFileItem.DateLastModified, 2),Date) >= argDays Then
strList = strList & vbCrLf & objSubFileItem.DateLastModified & Space(3) & _
"Delete File: " & Space(6) & objSubFileItem.Path
'Supprimer le fichier
''''''''''objFso.DeleteFile objSubFileItem.Path
cpt_files=cpt_files+1
End If
FnListeDossier = "Folders deleted:" & vbTab & cpt_folders & vbCrLf & _
"Files deleted:" & vbTab & cpt_files & vbCrLf & _
strList
Next
Set objFso = Nothing
End Function
cs_mrutopik
Messages postés5Date d'inscriptionmercredi 28 juillet 2004StatutMembreDernière intervention11 juillet 2009 9 juil. 2009 à 12:20
Je n'avais pas trouver la rubrique VBS, désolé, merci je vais regarder le code que tu m'as envoyé.
Sinon je suis partit sur ce code qui ma l'air super, sauf qu'il ne fonctionne pas (moins cool) il se lance bien, mais voici le resultat que j'obtient :
C:\Documents and Settings\mguillerm\Desktop\Nouveau dossier (2)>cscript delete.vbs c:\test 7
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
Will remove files from c:\test with a date older than 20090702 (7 days ago)
Total files in folder: 635
Deleted files: 0
Errors: 0
--- end of script execution ---
Le problème c'est que j'ai bien des fichiers qui date de plus de 7 jours dans ce dossier.. quelqu'un a une idée? voici le code :
cs_mrutopik
Messages postés5Date d'inscriptionmercredi 28 juillet 2004StatutMembreDernière intervention11 juillet 2009 9 juil. 2009 à 16:46
Je me suis avancé, le script fonctionne, par contre il ne supprime seulement les fichiers, j'aurai souhaité qu'il supprime également les dossiers et leurs contenus si possible, quelqu'un a une idée sur ce que je devrai rajouté/modifier dans le script pour faire ca?
cs_mrutopik
Messages postés5Date d'inscriptionmercredi 28 juillet 2004StatutMembreDernière intervention11 juillet 2009 10 juil. 2009 à 10:51
Merci beaucoup d'avoir pris la peine de m'aider :D
Par contre pour ton script, a priori il fonctionne bien pour vider les fichiers de tous les dossiers, mais j'aurai souhaité si possible qu'il supprime également tous les dossier du dossier racine (si possible)