Existe-t-il une commande MS-DOS qui me permet de supprimer tous les fichiers sauf un?
Prenons comme exemple les fichiers suivants:
a.001
a.002
a.003
a.exe
a.c
Existe-t-il une commande pour supprimer tous les fichiers sauf a.c
?
Vous pouvez utiliser les commandes for
et if
pour accomplir cela:
for %i in (*) do if not "%~i" == a.c del "%~i"
Cela passe par le répertoire courant et compare chaque nom de fichier à ac S'il ne correspond pas, le fichier est supprimé.
for
régulièrement, vous trouvez toutes sortes de scénarios fous pour cela. :)del "%i"
IF
instruction soit insensible à la casse, remplacez-la parIF /I
.Vous pouvez définir le fichier en lecture seule avant de tout supprimer
la source
Non, il n'y en a pas. Je créerais un répertoire, y copierais le fichier important, l'effacerais . et ramenez le fichier en arrière. Supprimez ensuite le fichier temporaire.
la source
la source
%f
pourrait avoir des espaces dans le nom de fichier.la source
%app_path%
et%file%
sont respectivement la racine de l'arbre à parcourir et le fichier à éviter. Quel est le^
, et pourquoi passons-nous quatre jetons par fichier à laDel
commande?Pour la vitesse, j'utilise delen :
TCC / LE a également une
del
commandeplus puissante:la source
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".