C:\>forfiles /?
FORFILES [/P nombre de ruta] [/M máscara de búsqueda] [/S]
[/C comando] [/D [+ | -] {dd/MM/yyyy | dd}]
Descripción:
Selecciona un archivo (o conjunto de archivos) y ejecuta un
comando en ese archivo. Esto es útil para trabajos por lotes.
Lista de parámetros:
/P nombre de ruta Indica la ruta de acceso para iniciar la
búsqueda. La carpeta predeterminada es el
directorio de trabajo actual (.).
/M máscara de búsqueda Busca archivos de acuerdo con una máscara de
búsqueda. La máscara de búsqueda predeterminada es '*' .
/S Indica a forfiles que realice recursividad en
subdirectorios. Como "DIR /S".
/C comando Indica el comando que se va a ejecutar para
cada archivo. Las cadenas de comandos deben
estar entre comillas dobles.
El comando predeterminado es "cmd /c eco
@file". Se pueden usar las siguientes
variables en la cadena de comandos:
@file - devuelve el nombre del archivo.
@fname - devuelve el nombre de archivo sin
extensión.
@ext - devuelve solo la extensión del
archivo.
@path - devuelve la ruta de acceso completa
del archivo.
@relpath - devuelve la ruta de acceso relativa
del archivo.
@isdir - devuelve "TRUE" si un tipo de
archivo es un directorio y "FALSE"
para archivos.
@fsize - devuelve el tamaño del archivo en
bytes.
@fdate - devuelve la última fecha de
modificación del archivo.
@ftime - devuelve la última hora de
modificación del archivo.
Para incluir caracteres especiales en la línea
de comandos, use el código hexadecimal del
carácter en formato 0xHH (ejemplo, 0x09 para
tabulador). Interno comandos CMD.exe deben
estar precedidos por "cmd /c".
/D fecha Selecciona archivos con última fecha de
modificación posterior o igual a (+), o
anterior o igual a (-), la fecha especificada
usando el formato "dd/MM/yyyy"; o selecciona
archivos con última fecha de modificación
posterior o igual a (+) la fecha actual más
"dd" días, o anterior o igual a (-) la fecha
actual menos "dd" días. Un número de días "dd"
puede ser cualquier número del intervalo
0-32768. "+" se toma como signo predeterminado
si no se especifica.
/? Muestra este mensaje de ayuda.
Ejemplos:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 se cambió hace 30 días"
FORFILES /D 01/01/2001
/C "cmd /c echo @fname es nuevo desde el 1 de enero de 2001"
FORFILES /D +13/10/2021 /C "cmd /c echo @fname es nuevo hoy"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"