par

J'ai un dossier qui contient à la fois des fichiers et d'autres répertoires, qui contiennent eux même d'autres fichiers et répertoires , et ainsi de suite. Comment faire un batch Windows pour effacer tout le contenu du répertoire racine de manière récursive ?

2 Réponses

+1 validé
par

Pour effacer de manière récursive tout le contenu d'un répertoire sous Windows, avec un batch, il faut :

  • Utiliser la commande del pour supprimer tous les fichiers de manière récursive.
  • Lancer une boucle for dans le répertoire racine pour identifier tous les dossiers enfants, et ensuite les supprimer.

Exemple : test.bat supprime de manière récursive le contenu de c:\test\

del /s /f /q c:\test\*.*
for /f %%f in ('dir /ad /b c:\test\') do rd /s /q c:\test\%%f
+1 validé
par

Vous pouvez également utiliser WMI, via un fichier vbs, pour effacer un répertoire et tout son contenu :

Exemple : test.vbs supprime de manière récursive le répertoire c:\test

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
    ("Select * from Win32_Directory where Name = 'c:\\test'")
For Each objFolder in colFolders
    errResults = objFolder.Delete
    'Wscript.Echo errResults
Next

Tendances

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...