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.
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
?
Você pode definir o arquivo para ler somente antes de excluir tudo
attrib +r a.c
del *.*
attrib -r a.c
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
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
Para velocidade, eu uso delen :
delen /! a.c
TCC / LE também tem um comando del
mais poderoso:
del /[!a.c] *
Tags ms-dos