REM ============================================
REM Fichier : delete_empty_folders.vbs
REM Desc : liste les dossiers vides d'une arborescence, modifier la ligne 44 pour effectivement supprimer les dossiers
REM ============================================
Option Explicit
Dim g_nbDossiers_a_Supprimer, g_nbTotalDossiers
g_nbDossiers_a_Supprimer = 0
Echo "Dossiers vides de " & Wscript.Arguments(0)
ListEmptyFolders Wscript.Arguments(0)
Echo g_nbDossiers_a_Supprimer & " dossiers vides trouvés sur " & g_nbTotalDossiers & " (dossier " & Wscript.Arguments(0) & ")"
Sub Echo(s)
REM ============================
REM echo
REM ============================
Wscript.Echo _
String(Len(s), "=") & vbcrlf & _
s & vbcrlf & _
String(Len(s), "=")
End Sub
Sub ListEmptyFolders(sFolder)
REM ============================
REM deletes empty subfolders
REM recursive procedure
REM ============================
On Error Resume Next 'pb sur dossiers spéciaux
g_nbTotalDossiers = g_nbTotalDossiers +1
Dim oFSO, f, d, dossier, folders
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set f = oFSO.GetFolder(sFolder)
set folders = f.SubFolders
For Each d in folders
If oFSO.GetFolder(oFSO.GetAbsolutePathName(d)).Size = 0 Then
g_nbDossiers_a_Supprimer = g_nbDossiers_a_Supprimer + 1
Wscript.Echo """" & d & """"
REM enlever REM sur la ligne suivante pour effectivement supprimer le dossier
REM oFSO.DeleteFolder dv
Else
ListEmptyFolders oFSO.GetAbsolutePathName(d)
End If
Next
Set f = Nothing
Set oFSO = Nothing
End Sub