web-dev-qa-db-fra.com

Comment supprimer récursivement le répertoire de la ligne de commande dans Windows?

Quel est l'équivalent Windows de rm -r [directory-name]?

230
Eric Wilson

deltree si je me souviens de mon DOS.


Il semble que cela a été mis à jour ... voici ce que vous voulez:

RMDIR /S

Cela supprime le répertoire C:\test, avec les invites suivantes:

rmdir c:\test /s

Cela fait la même chose, sans invites:

rmdir c:\test /s /q

En ce qui concerne la partie Sudo de votre question, si vous avez besoin de davantage de privilèges, vous pouvez d’abord ouvrir un nouveau shell en tant que compte utilisateur à l’aide de la commande runas, comme ceci:

runas /user:Administrator cmd
rmdir c:\test /s /q
334
Colin Pickard

Si vous souhaitez supprimer une structure de dossier longue et compliquée de la commande Invite que RmDir ne touchera pas et que même Explorer ne pourra pas afficher, j'ai trouvé que robocopy peut s'avérer très efficace pour supprimer la structure. Dans l'exemple ci-dessous, nous avons une structure massive à l'intérieur de l'administrateur de dossiers. La structure est tellement profonde que rien ne peut l'enlever. Nous créons un nouveau dossier vide appelé (curieusement!) "Nouveau dossier". Nous utilisons ensuite la commande robocopy, en lui indiquant que le dossier source est "nouveau dossier" et que le dossier de destination est "D:\Administrator" avec le paramètre/MIR, ce qui signifie qu'il purgera tout ce qui ne se trouve pas dans le dossier source.

robocopy "D:\new folder" D:\Administrator /MIR

Dans ce cas, les chemins des dossiers étaient si longs qu’ils ne rentreraient même pas dans la commande Invite de la fenêtre Tampon d’écran, mais Robocopy traversera la structure et supprimera tous les fichiers et dossiers "supplémentaires" (c.-à-d. Tout ce qui ne se trouve pas dans le nouveau dossier vide, qui est tout ).

57
Sean

Si vous utilisez Windows Vista +, vous pouvez effectuer les opérations suivantes dans PowerShell:

rm C:\path\to\delete -r -f[orce]
10
Devesh Khandelwal

Pour moi, ce qui fonctionne est

del /s dir

Vous pouvez ajouter /q pour désactiver la confirmation. Je n'ai jamais réussi à faire fonctionner rmdir (sous XP)

5
Vincent Fourmond

Si vous avez un très long chemin (comme je l’ai fait à cause d’une erreur de programme Java), même Robocopy ne peut pas le faire. Il est descendu sur mon chemin pendant environ 30 secondes puis pendu.

Ma solution: si vous pouvez déplacer l'intégralité du chemin du problème d'un dossier à un autre, vous pouvez supprimer de manière récurrente et répétitive certains escaliers de répertoires en partant du haut.

Ce lot joue au pingpong entre les deux répertoires leer et leer2 et élimine 8 "bibliothèques" à chaque fois. Si votre chemin contient des fichiers, vous devez ajouter d'autres commandes pour les effacer.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop
2
Paulmann

Depuis CMD, exécutez simplement RD/s C:\path\to\delete Appuyez sur Y pour répondre à l'invite.

/ s garantit que tous les sous-répertoires sont également supprimés.

Référence Exécuter l'aide RD à partir de la ligne de commande

2
Rachit Ranjan

Ceci supprimera "mon dossier" sans invite:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
0
JerryGoyal