2008-11-17 3 views
5

j'ai un dossier « FolderA » qui contient trois sous-dossiers: foldera1 foldera2 et foldera3dossier inconnu supprimer dans un répertoire à l'aide des fichiers .BAT

je dois écrire un fichier batch qui se trouve à l'intérieur « FolderA ». Il devrait supprimer tous les dossiers sous "FolderA" comme une activité de nettoyage. Je ne connais pas les noms de dossiers. rmdir ne prend pas en charge les caractères génériques.

Quelqu'un pourrait-il fournir une solution à ce petit problème?

+0

Juste ajouté les guillemets, pour pouvoir supprimer les répertoires avec des espaces dans leur nom. – VonC

Répondre

5

quelque chose comme:

for /f %%a in ('dir /ad /b') do (rmdir /S /Q "%%a") 
for /d %%a in (*) do (rmdir /S /Q "%%a") 

devrait faire l'affaire. La seconde forme permet une sélection générique pour les répertoires.

Pour le tester en dehors d'un script, dans une session DOS ordinaire:

for /f %a in ('dir /ad /b') do (rmdir /S /Q "%a") 
for /d %a in (*) do (rmdir /S /Q "%a") 

Notez les guillemets doubles , afin de pouvoir supprimer des répertoires avec des espaces en eux.

3

ligne de commande:

for /D %a in (*) do rd /S /Q %a 

dans le fichier batch/cmd:

for /D %%a in (*) do rd /S /Q %%a 
0

Lorsque vous êtes à l'intérieur FolderA, exécutez "rmdir/s/q."

Ceci affiche une erreur sur la ligne de commande de "fichier en cours d'utilisation ..."
Pourtant, il supprime le répertoire à l'intérieur.

Questions connexes