Réponses:
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 par IF /I
.
Vous pouvez définir le fichier en lecture seule avant de tout supprimer
attrib +r a.c
del *.*
attrib -r a.c
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.
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%f
pourrait avoir des espaces dans le nom de fichier.
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
%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 à la Del
commande?
Pour la vitesse, j'utilise delen :
delen /! a.c
TCC / LE a également unedel
commandeplus puissante:
del /[!a.c] *
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".