Supprimer des fichiers ou des dossiers de manière récursive sur Windows CMD

135

Comment supprimer des fichiers ou des dossiers de manière récursive sous Windows à partir de la ligne de commande?

J'ai trouvé cette solution où nous conduisons sur la ligne de commande et exécutons cette commande.

J'ai donné un exemple avec un dossier d'extension de fichier .svn:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")
modasser
la source
Qu'entendez-vous par «où le chemin sur lequel nous conduisons» ?
Peter Mortensen

Réponses:

129

Veuillez exécuter les étapes suivantes:

  1. Ouvrez l'invite de commande
  2. Remplacez le répertoire par le chemin requis
  3. Donnez la commande suivante

    del /S *.svn
    
DGuntoju
la source
4
Cela ne fonctionne pas pour moi, il ne supprime que les fichiers du répertoire courant.
delphirules
119

Les autres réponses n'ont pas fonctionné pour moi, mais cela a fonctionné:

del /s /q *.svn
rmdir /s /q *.svn

/ q désactive les invites Oui / Non

/ s signifie supprimer le (s) fichier (s) de tous les sous-répertoires.

Lucas
la source
Je pense que mes besoins sont les mêmes que ce que vous essayez de faire - j'essaye de supprimer tous les dossiers .svn dans un répertoire de projet et tous les sous-répertoires. Sur Windows 2012, cette réponse ne fonctionne pas pour moi. Il supprime le dossier .svn dans le répertoire en cours, mais pas dans les répertoires enfants.
Jim
42

Vous pouvez utiliser ceci dans le batscript:

rd /s /q "c:\folder a"

Maintenant, changez simplement c:\folder al'emplacement de votre dossier. Le devis n'est nécessaire que lorsque le nom de votre dossier contient des espaces.

Sean Vaughn
la source
Cette commande ne fonctionne pas et génère une erreur comme ci-dessous D: \> rd / s / q "D: \ Root a" Le système ne trouve pas le fichier spécifié.
abhayk
5
À moins que votre répertoire n'ait vraiment un space adans le nom, alors omettez cette partie.
Jesse Chisholm le
22
RMDIR path_to_folder /S

ex. RMDIR "C:\tmp" /S

Notez que vous serez invité si vous allez vraiment supprimer le dossier "C: \ tmp". Le combiner avec le commutateur / Q supprimera le dossier silencieusement (ex. RMDIR "C:\tmp" /S /Q)

Anton
la source
8

Pour la suppression de fichiers, j'ai écrit le fichier de commandes simple suivant qui a supprimé tous les .pdf de manière récursive:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

Même pour le répertoire local, nous pouvons l'utiliser comme:

del /s /q "C:\Project\*.pdf"

La même chose peut être appliquée pour la suppression de répertoires où nous avons juste besoin de changer del avec rmdir .

khichar.anil
la source
4

Si vous souhaitez supprimer une extension spécifique de manière récursive, utilisez ceci:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
Saleh ahmed
la source
3

Vous pouvez également faire:

del /s /p *.{your extension here}

Le /pvous demandera chaque fichier trouvé, si vous avez peur de supprimer quelque chose que vous ne devriez pas.

Michael Armes
la source
2

Utilisez la commande Windows rmdir

Autrement dit, rmdir / S / Q C: \ Temp

J'utilise également ceux ci-dessous depuis quelques années maintenant, parfaitement.

Découvrez d'autres options avec: forfiles /?

Supprimer SQM / Télémétrie dans le dossier Windows de manière récursive

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Supprimer les fichiers Windows TMP de manière récursive

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

Supprimer les fichiers et dossiers TEMP utilisateur de manière récursive

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
mjoao
la source
2

Pour effacer complètement un dossier avec des commandes natives et obtenir un journal sur ce qui a été fait.

voici une façon inhabituelle de le faire:

supposons que nous voulions effacer le répertoire d: \ temp

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
Max
la source
C'est une solution très intelligente qui a résolu mon problème. J'ai utilisé robocopy pour copier mon répertoire AppData, sans penser à l'auto-référencement Junction. C'était le seul moyen de supprimer tous les fichiers cachés de manière récursive. N'oubliez jamais le / xj!
Chris Larabell
0

Pour les fichiers cachés, j'ai dû utiliser ce qui suit:

DEL /S /Q /A:H Thumbs.db
Selrac
la source
Dépassé. Windows XP n'est pas pris en charge par Microsoft co.
Mesalcode
J'ai dû l'utiliser pour supprimer les fichiers .dcm qui restaient d'une restauration de sauvegarde (Windows 10)
Gerald Murphy
0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
Alexsupra
la source