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")

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
    

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.


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.


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)


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 .


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"

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.


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"


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

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

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"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.