Respuestas:
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 por IF /I
.
Puede configurar el archivo para que se lea solo antes de eliminar todo
attrib +r a.c
del *.*
attrib -r a.c
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.
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%f
podría tener espacios en el nombre del archivo.
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
%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 al Del
comando?
Para la velocidad, uso delen :
delen /! a.c
TCC / LE también tiene undel
comandomás poderoso:
del /[!a.c] *
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".