C'est facile à faire avec un petit script en VBScript...
'
' Filename : cleanfolders.vbs
' Author : Cédric Rathgeb
' Date : 2005-08-20
' Version : 1.0
' Copyright : Public Domain
' Warranty : None
' ' Répertoire à partir duquel commencer
sPath = "C:\"
' Rapport
sReportFolders = "Les dossiers suivants ont été effacés : " & vbCrLf
sReportFoldersCount = 0
' Obtient le dossier de base
Set oFSO = CreateObject("Scripting.FileSystemObject" )
' Procédure récursive pour parcourir les dossiers
Sub CleanFolder(sCurrentPath)
' Obtient le dossier courant
Set oFolder = oFSO.GetFolder(sCurrentPath) ' Obtient les sous-dossiers
Set oSubFolders = oFolder.SubFolders
' Parcourt les sous-dossiers
For Each oCurrentFolder in oSubFolders
CleanFolder oCurrentFolder.Path
Next
' Obtient les fichiers dans le dossier courant
Set oFiles = oFolder.Files
' Si le dossier est vide, le supprime
If oFiles.Count = 0 AND oSubFolders.Count = 0 Then
sReportFolders = sReportFolders & " - " & oFolder.Path & "\" & vbCrLf
sReportFoldersCount = sReportFoldersCount + 1
oFolder.Delete True
End If
End Sub
' Appel initial de la fonction
CleanFolder sPath
' Affiche le rapport
MsgBox "Nombre de dossiers effacés : " & sReportFoldersCount
MsgBox sReportFolders
|
Je te conseille de tester ce script à un endroit ou il ne fera pas trop de dégats... au cas où je me serais planté Tu peux aussi commenter la ligne "oFolder.Delete True" en ajoutant un apostrophe en début de ligne pour voir déjà le rapport.
Message édité par Requin le 20-08-2005 à 18:20:40