%20utilizando%20un%20archivo%20por%20lotes%20.png)
Mi código actual para eliminar todos los archivos en una carpeta de más de 2 días es:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c Del /F /Q @path" /d 2
Hay uno.idfarchivo entre todos los demás archivos. Quiero eliminar todos los archivos excepto el archivo .idf. ¿Qué cambio para que el código actual ignore el archivo? Si no es posible, cualquier comando nuevo será útil.
Respuesta1
Para mejorar un poco su enfoque:
- Mantener
forfiles
con/d -2
el cambio para tratar sólo archivos más antiguos. - utilizar
for %G
conif /I [%~xG] neq [.idf]
para omitir archivos con.idf
extensión - duplicar todo
%
si se ejecuta desde un archivo por lotes:%%G
en lugar de%G
etc. - eliminar
@echo
tan pronto como se haya depurado.
El comando:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.idf] @echo del /F /Q %G" /d -2
Recursos(lectura obligatoria):
- (referencia de comando)Un índice AZ de la línea de comando CMD de Windows
- (particularidades adicionales)Sintaxis de la línea de comandos de Windows CMD Shell
- (
%~G
etc. página especial)Argumentos de la línea de comando (parámetros)