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 ceci:
for %i in (*) do if not "%~i" == a.c del "%~i"
Cela passe par le répertoire courant et compare chaque nom de fichier à un fichier a.c. Si cela ne correspond pas, le fichier est supprimé.
Vous pouvez définir le fichier pour lire uniquement avant de tout supprimer
attrib +r a.c
del *.*
attrib -r a.c
Non, il n'y en a pas. Je ferais un répertoire, y copierais le fichier important, effacerais . , et déplacerais le fichier. Ensuite, supprimez 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
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d