¿Existe un comando de MS-DOS que me permite eliminar todos los archivos excepto uno?
Considere como ejemplo los siguientes archivos:
a.001
a.002
a.003
a.exe
a.c
¿Hay un comando para eliminar todos los archivos excepto a.c
?
Puede usar los comandos for
y if
para lograr esto:
for %i in (*) do if not "%~i" == a.c del "%~i"
Esto pasa por el directorio actual y compara cada nombre de archivo con ac Si no coincide, el archivo se elimina.
for
regularmente, se te ocurren todo tipo de escenarios locos. :)del "%i"
IF
declaración no distinga entre mayúsculas y minúsculas, cámbiela porIF /I
.Puede configurar el archivo para que se lea solo antes de eliminar todo
fuente
No, no hay Haría un directorio, copiaría el archivo importante en él, lo borraría . y mueva el archivo hacia atrás. Luego elimine el archivo temporal.
fuente
fuente
%f
podría tener espacios en el nombre del archivo.fuente
%app_path%
y%file%
son la raíz del árbol para atravesar, y el archivo para evitar su eliminación, respectivamente. ¿Cuál es el^
y por qué estamos pasando cuatro tokens por archivo alDel
comando?Para la velocidad, uso delen :
TCC / LE también tiene un
del
comandomás poderoso:fuente
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".