32 votes

Commande MS-DOS pour supprimer tous les fichiers sauf un

Existe-t-il une commande MS-DOS qui me permette de supprimer tous les fichiers sauf un ?

Considérons par 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 ?

43voto

Kevin Points 3496

Vous pouvez utiliser le for y if pour y parvenir :

for %i in (*) do if not "%~i" == a.c del "%~i"

Elle parcourt le répertoire courant, et compare chaque nom de fichier à a.c. S'il ne correspond pas, le fichier est supprimé.

21voto

The Who Points 111

Vous pouvez mettre le fichier en lecture seule avant de tout effacer.

attrib +r a.c
del *.*
attrib -r a.c

11voto

eugensk00 Points 832

Non, il n'y en a pas. Je créerais un répertoire, j'y copierais le fichier important, j'effacerais . et remettez le dossier en place. Puis supprimez le fichier temporaire.

mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp

3voto

Ben Points 1
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f

1voto

Darth Points 11
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X