Comando do MS-DOS para excluir todos os arquivos, exceto um

24

Existe um comando do MS-DOS que me permite excluir todos os arquivos, exceto um?

Considere como exemplo os seguintes arquivos:

a.001  
a.002  
a.003  
a.exe  
a.c  

Existe um comando para excluir todos os arquivos, exceto a.c ?

    
por nunos 22.02.2010 / 20:14

6 respostas

33

Você pode usar os comandos for e if para fazer isso:

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

Isso passa pelo diretório atual e compara cada nome de arquivo a a.c. Se não corresponder, o arquivo será excluído.

    
por 22.02.2010 / 20:29
13

Você pode definir o arquivo para ler somente antes de excluir tudo

attrib +r a.c
del *.*
attrib -r a.c
    
por 22.02.2010 / 20:21
8

Não, não há. Eu criaria um diretório, copiaria o arquivo importante para ele, apagaria . e moveria o arquivo de volta. Em seguida, exclua o arquivo temporário.

mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
    
por 22.02.2010 / 20:18
3
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
    
por 22.02.2010 / 20:31
1
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
    
por 07.09.2011 / 01:31
0

Para velocidade, eu uso delen :

delen /! a.c

TCC / LE também tem um comando del mais poderoso:

del /[!a.c] *
    
por 07.09.2011 / 05:05

Tags