Comment puis-je supprimer tous les fichiers/sous-dossiers à l'exception de certains fichiers dans le DOS?
Je suis à la recherche d'un DOS de script pour supprimer tous les fichiers et sous-répertoires dans un répertoire racine, sauf pour un ensemble de fichiers batch (*.chauve-souris) qui sont dans le répertoire racine. DOS jocks qui sais un moyen facile de faire cela?
Mise à jour
Merci pour votre aide tout le monde. C'est là où je suis maintenant (voir ci-dessous). Je suis à l'aide de Ken suggestion pour le supprimer des fichiers. Je voudrais savoir comment je peux arrêter ce script en cours d'exécution si la del
ou RD
commandes échouent en raison d'un verrou sur un fichier/dir. Quelqu'un sait comment? Maintenant, ce script permet de faire un tas de choses après le supprime et je voudrais arrêter le script si l'un des suppressions d'échouer.
@echo off
REM *********************************************************************
REM * Delete all files and subdirs except for batch files in the root *
REM *********************************************************************
REM Delete all files in current dir except bat files. Does this by a) setting the attributes of *.bat files to
REM readonly and hidden, b) deleting the rest, c) reseting the attributes
attrib +r +s *.bat
del *.* /S /Q
attrib -r -s *.bat
REM Deletes ALL subdirectories
FOR /D %%G in (*) DO RD /s /q %%G
Ne supprimez pas les aucun .les fichiers bat à la racine
OriginalL'auteur Marcus Leon | 2009-02-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir les attributs des fichiers que vous voulez garder à lecture seule et caché d'abord, supprimer le reste, et puis réinitialiser les attributs de ce qui est caché, lecture seule les fichiers de retour.
J'ai l'habitude de le faire assez souvent, et écrit un fichier de commandes automatisé ceci:
C'est probablement OK il suffit d'utiliser l'attribut caché, mais je sais que les del ne touche pas fichiers cachés du système, j'ai donc mis les deux. Mieux vaut prévenir que guérir, de l'OMI.
Basé sur un commentaire de Marcus: Si vous souhaitez élargir à d'inclure les sous-répertoires du répertoire courant, il suffit de changer les deux attrib lignes de
et modifier la ligne entre les deux attrib lignes de
Qui devrait fonctionner pour la plupart des choses que vous voulez sauf.chauve-souris pour le faire.
Marcus, j'ai mis à jour le post pour montrer l'inclusion de sous-dossiers.
OriginalL'auteur Ken White
Fixe basé sur @Ken commentaire:
Oups, non, vous ne le font pas. Mais ce n'
/Y
faire?Des réponses Y à la question "êtes-vous sûr?"
cd d: et cd c: ne fonctionne pas. C'est tout simplement D:<enter> ou C:<enter> pour changer les disques. Aussi, vous ne CMD.EXE à l'aide de cd /lecteur d:\répertoire de la syntaxe.
J'ai besoin de supprimer également tous les sous-dossiers. Je crois que del . supprime uniquement les fichiers dans le répertoire courant.
OriginalL'auteur Alex Reitbort
Ceci est basé sur Alex de la méthode de sauvegarde la .Les fichiers BAT, mais supprime tous les sous-dossiers, en utilisant la commande RD.
OriginalL'auteur demoncodemonkey