Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Selecciona y ejecuta un comando en un archivo o un conjunto de archivos. Este comando se usa con más frecuencia en archivos por lotes.
Syntax
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
Parameters
| Parameter | Description |
|---|---|
/P <pathname> |
Especifica la ruta de acceso desde la que se va a iniciar la búsqueda. De forma predeterminada, la búsqueda se inicia en el directorio de trabajo actual. |
/M <searchmask> |
Busca archivos según la máscara de búsqueda especificada. La máscara de búsqueda predeterminada es *. |
| /S | Indica al comando forfiles que busque en subdirectorios de forma recursiva. |
/C <command> |
Ejecuta el comando especificado en cada archivo. Las cadenas de comandos se deben encapsular entre comillas dobles. El comando predeterminado es "cmd /c echo @file". |
/D [{+\|-}][{<date> | <days>}] |
Selecciona los archivos con una fecha de última modificación dentro del período de tiempo especificado:
|
| /? | Muestra el texto de ayuda en la ventana cmd. |
Remarks
El comando
forfiles /Ses similar adir /S.Puede usar las siguientes variables en la cadena de comando según lo especificado por la opción de línea de comandos /C :
Variable Description @FILE File name. @FNAME Nombre de archivo sin extensión. @EXT Extensión de nombre de archivo. @PATH Ruta de acceso completa del archivo. @RELPATH Ruta de acceso relativa del archivo. @ISDIR Se evalúa como 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 en el archivo. @FTIME Marca de hora de última modificación en el archivo. El comando forfiles le permite ejecutar un comando o pasar argumentos a varios archivos. Por ejemplo, puede ejecutar el comando type en todos los archivos de un árbol con la extensión de nombre de archivo .txt. O bien, puede ejecutar todos los archivos por lotes (*.bat) en la unidad C, con el nombre de archivo Myinput.txt como primer argumento.
Este comando puede:
Seleccione archivos por una fecha absoluta o una fecha relativa mediante el parámetro /d .
Cree un árbol de archivo de archivos mediante variables como @FSIZE y @FDATE.
Diferencie los archivos de los directorios mediante la variable @ISDIR.
Incluya caracteres especiales en la línea de comandos mediante el código hexadecimal del carácter, en formato 0xHH (por ejemplo, 0x09 para una tabulación).
Este comando funciona mediante la implementación de la marca
recurse subdirectoriesen herramientas diseñadas para procesar solo un solo archivo.
Examples
Para enumerar todos los archivos por lotes de la unidad C, escriba:
forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"
Para enumerar todos los directorios de la unidad C, escriba:
forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"
Para enumerar todos los archivos del directorio actual que tienen al menos un año de antigüedad, escriba:
forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."
Para mostrar que el archivo de texto está desactualizado para cada uno de los archivos del directorio actual que son anteriores al 1 de enero de 2007, escriba:
forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."
Para enumerar las extensiones de nombre de archivo de todos los archivos del directorio actual en formato de columna y agregar una pestaña antes de la extensión, escriba:
forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"