Header Ads

Header ADS

Microsoft Windows. Comando forfiles. Eliminar archivos antiguos con un proceso automático.


En un momento determinado nos surge la problemática de acumular una gran cantidad de archivos que se generan de forma automática, derivados de una funcionalidad o proceso.

Vamos a describir como eliminar de forma periódica y automática los archivos generados a partir de un tiempo.

Creamos un archivo para ejecutar el proceso (.bat), y añadimos el siguiente comando:

ForFiles /M "Archivo*" /P "D:\Datos\" /D –30 /C "cmd /c del @file"

El comando ForFiles permite actuar sobre un conjunto de archivos seleccionados gracias a los parámetros del comando.

En nuestro ejemplo necesitamos eliminar unos determinados archivos de una carpeta que existen antes de una fecha, describimos a continuación los parámetros:

/M                

Especifica mascara de búsqueda para seleccionar un conjunto de archivos. Sino se indica este parámetro por defecto el valor es "*". En nuestro ejemplo queremos seleccionar todos aquellos archivos que empiecen por la palabra "Archivo*"

/P                 

Indica la ruta donde se va a realizar la selección de archivos, en nuestro ejemplo queremos seleccionar la ruta "D:\Datos". Si no se especifica este parámetro el valor por defecto es la ruta actual.

/D               

Permite seleccionar archivos anteriores al número de días indicado. En nuestro ejemplo queremos borrar, aquellos archivos que existen antes de los últimos 30 días.

/C                

Especifica el comando que vamos a ejecutar. En nuestro ejemplo eliminamos los archivos seleccionados.

@file            

Conjunto de archivos seleccionados después de aplicar todos los parámetros


El comando forfiles, puede utilizar una serie de variables que se describen a continuación:

Variable   

Descripción

@FILE

Nombre de archivo o conjunto de archivos.

@FNAME

Nombre de archivo sin extensión.

@EXT

Extensión de nombre de archivo.

@PATH

Ruta absoluta de acceso completa del archivo.

@RELPATH

Ruta de acceso relativa del archivo.

@ISDIR

Permite evaluar si un archivo es un directorio. @isdir == TRUE si un tipo de archivo es un directorio. De lo contrario, esta variable se evalúa como FALSE.

@FSIZE

Tamaño del archivo, en bytes.

@FDATE

Marca de fecha de última modificación del archivo.

@FTIME

Marca de tiempo de última modificación en el archivo.


No hay comentarios

Con la tecnología de Blogger.