2009-05-25 9 views
17

J'ai besoin d'écrire un fichier batch qui a reçu un répertoire contenant un grand nombre de sous-répertoires vides et les supprime tous.Le moyen le plus rapide pour supprimer un arbre de répertoires dans un fichier batch

Quel est le moyen le plus rapide de le faire? (Par vite que je veux dire aime pas ce que l'Explorateur Windows ne lorsque vous essayez de supprimer un répertoire ...)

Précision:

Je ne cherche pas à supprimer seulement répertoires vides. Il se trouve que ce répertoire que j'essaye de supprimer est principalement des sous-répertoires vides.

Répondre

35
rd yourdirname /s/q 

Effectueront le travail indépendamment du fait qu'ils soient vides ou non.

+0

Je pense que le point entier de la suppression _empty_ répertoires est sur le point de _not_ supprimer les non-vides :) – Joey

+0

@Johannes, non ce n'était pas le point en fait. Je vais éditer et clarifier –

5

Je ne suis pas sûr si j'ai compris la question. Si vous voulez juste supprimer l'arbre, vous pouvez simplement utiliser rd /s. Toutefois, si vous souhaitez uniquement supprimer les répertoires vides, vous pouvez procéder comme suit en utilisant Cygwin.

find -type d -empty | xargs rmdir 

La version standard de l'environnement de travail dans lequel je travaille est installée sur Cygwin, et j'ai utilisé cette méthode plus d'une fois.

+0

Si vous avez installé Cygwin yoy peut faire "rm -rf dirname" – HED

+0

Cela effacera * tous * les répertoires, pas seulement ceux qui sont vides. –

Questions connexes