Comment supprimer de manière récursive le répertoire de la ligne de commande dans Windows?

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

deltree si je me souviens de mon DOS .


Il semble qu'il soit mis à jour … c'est ce que vous voulez:

RMDIR /S

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

 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 plus de privilèges, vous pouvez d'abord ouvrir un nouveau shell comme autre compte utilisateur en utilisant la commande runas , comme ceci:

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

Si vous souhaitez supprimer une structure de dossiers longue et compliquée à partir de l'invite de commande, RmDir ne sera pas touché et même si l'explorateur ne peut pas afficher, j'ai trouvé que robocopy peut être très efficace pour supprimer la structure. Dans l'exemple ci-dessous, nous avons une structure massive dans l'administrateur de dossiers, la structure est si profonde que rien ne peut l'enlever. Nous créons un nouveau dossier vide appelé (étrangement!) "Nouveau dossier". Nous utilisons ensuite la commande robocopy, en indiquant que le dossier source est "nouveau dossier" et que le dossier de destination est "D: \ Administrateur" avec le paramètre / MIR qui signifie qu'il purgera tout ce qui n'est pas dans le dossier source.

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

Dans ce cas, les chemins de dossier étaient si longs qu'ils ne seraient même pas dans la fenêtre d'invite de commande, mais Robocopy traversera la structure et supprimera tous les fichiers et dossiers "supplémentaires" (c'est-à-dire tout ce qui n'est pas dans le nouveau dossier vide, c'est tout ).

Vous pouvez faire ce qui suit dans PowerShell, si vous êtes sur Windows Vista +:

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

Pour moi, ce qui fonctionne est

 del /s dir 

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

Si vous avez un chemin vraiment très long (comme je l'ai fait en raison de l'erreur du programme java), même si Robocopy ne peut pas le faire. Il est descendu pendant environ 30sec sur mon chemin et ensuite accroché.

Ma solution: si vous pouvez déplacer tout le chemin du problème d'un dossier à l'autre, vous pouvez décoller de manière récursive et à plusieurs reprises certains escaliers d'annuaire depuis le haut.

Ce lot joue au ping-pong entre les deux répertoires leer et leer2 et coupe 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 

À partir de CMD, exécutez simplement RD / s C: \ chemin \ pour \ effacer Effet Y sur l'invite

/ S s'assure que tous les sous-répertoires sont également supprimés.

L'opération de référence aide RD à partir de la ligne de commande