forfileses una utilidad de software que ejecuta un comando para cada elemento del sistema de archivos (archivo o directorio) que coincide con los criterios de selección. El comando se proporcionó originalmente como un complemento en los kits de recursos de Windows 98 , [ 1 ] Windows NT y Windows 2000 [ 2 ] . Se convirtió en una utilidad estándar con Windows Vista , como parte de las nuevas características de administración .
Usar
Sin argumentos, el comando imprime el nombre de cada elemento en el directorio de trabajo . El comando admite los siguientes modificadores de línea de comandos .
- /Ruta P
- El directorio donde realizar la búsqueda, en lugar del directorio de trabajo. No se aceptan rutas UNC (\\máquina\recurso compartido).
- Patrón /M
- Especifica un patrón de coincidencia con comodines que selecciona elementos para su inclusión en lugar de todos. Esto permite filtrar los elementos que no coinciden con el patrón. La coincidencia se basa en el nombre del elemento (incluida la extensión), pero no en la ruta del directorio que lo contiene. Sin un comodín, el patrón debe coincidir exactamente con el nombre base.
- Aunque la mayoría de los comandos de DOS/Windows coinciden con archivos sin extensión para el patrón
*.*, este comando trata*.*y*de manera diferente. El primero solo coincide con un elemento que tenga un punto en su nombre, mientras que el segundo coincide incluso sin punto ni extensión.
- /S
- Buscar elementos en subdirectorios además del directorio especificado.
- Comando /C
- Comando a ejecutar para cada elemento coincidente. La cadena de comando normalmente debe ir entre comillas dobles. El comando predeterminado es
CMD /C ECHO @FILE, que imprime, medianteECHO, el nombre de cada elemento coincidente especificado como variable@FILE. Consulte a continuación las variables compatibles.
- Un valor hexadecimal con el prefijo "0x" se trata como un código de carácter ASCII , lo que permite el uso de caracteres ASCII no imprimibles o extendidos . Una comilla doble se puede representar como
0x22o\".
- /Fecha D
- La selección se basa en la fecha de última modificación. Por defecto, los elementos se seleccionan independientemente de la fecha de modificación.
- El argumento de fecha se formatea como MM/DD/AAAA o como un número; una antigüedad en días (es decir, el día de la fecha días antes de la fecha actual). Si el argumento comienza con un signo menos (-), solo se seleccionan los elementos modificados en o antes de la fecha indicada (elementos más antiguos/modificados antes). De lo contrario, solo se seleccionan los elementos modificados en o después de la fecha indicada (elementos más recientes/modificados después). Se puede especificar un signo más (+), pero es el valor predeterminado. Tenga en cuenta que ambos modos seleccionan los elementos de la fecha indicada. No es posible seleccionar solo los elementos de una fecha específica (sin incluir también los anteriores o posteriores).
- /?
- Muestra información de ayuda para el comando.
Variables de comando
Las siguientes variables se reemplazan antes de que se ejecute el comando con metadatos sobre el elemento coincidente.
- @archivo
- El nombre del artículo, entre comillas dobles.
- @nombre
- El nombre del artículo sin extensión, entre comillas dobles.
- @ext
- La extensión del nombre, entre comillas dobles, sin punto inicial. Si un elemento tiene varias extensiones, se toma la última. Si el elemento no tiene extensión, se devuelve una cadena vacía.
- @camino
- Ruta completa del elemento coincidente, entre comillas dobles, incluyendo la letra de la unidad y la extensión (si la hay).
- @relpath
- Ruta del elemento coincidente, entre comillas dobles y relativa al directorio de inicio (indicado por /P). Cada ruta comienza con un punto y una barra invertida (
.\).
- @isdir
- Se evalúa como una cadena literal
TRUEsi el elemento coincidente es un directorio, o comoFALSEtal si no lo es.
- @fsize
- Tamaño del elemento coincidente, en bytes . Los directorios informan un tamaño de cero.
- @fdate
- Fecha de la última modificación del elemento, en el formato de fecha localizado del usuario actual.
- @ftime
- Hora en que se modificó por última vez el elemento, en el formato de hora localizada del usuario actual.
Ejemplos
El siguiente comando selecciona archivos de registro en el directorio de Windows de 30 días o más de antigüedad y los lista con su fecha. Dado que el comando para la opción /Cdebe ser un programa, se requiere iniciar un subshell ( cmd.exe ) a través de para el comando integrado del shell .CMD /CECHO
C:\> FORFILES /PC:\Windows /M *.LOG /D -30 /C "CMD /C ECHO @FDATE @FILE" 12/06/2015 "iis7.log" 28/05/2015 "msxml4-KB954430-enu.LOG" 28/05/2015 "msxml4-KB973688-enu.LOG" 26/05/2015 "setuperr.log"El siguiente comando elimina los mismos archivos.
C:\> FORFILES /PC:\Windows /M *.LOG /D -30 /C "CMD /C DEL @PATH"Véase también
- cmd.exe – Consola para Windows NT y otros sistemas operativos
- Bucle foreach : estructura de control de flujo para ejecutar código repetidamente. Páginas que muestran descripciones breves de los destinos de redirección.
- find (Unix) – Comando de shell para encontrar archivos ; funcionalmente similar a
forfiles - find (Windows) – Comando de shell que busca texto en archivos
- grep – Utilidad de línea de comandos para búsqueda de texto ; funcionalmente similar a Windows
find
Referencias
- "FORFILES", Microsoft Windows (Software informático), 6.1.7600.16385, Microsoft, 13 de julio de 2009.
- "Forfiles" . TechNet . Microsoft. 17 de abril de 2012. Consultado el 28 de abril de 2016 .
- Simon Sheppard. "FORFILES.exe" . SS64 . Consultado el 28 de abril de 2016 .
Enlaces externos
- forfiles | Microsoft Docs
- Comandos de Windows
- Windows Vista
- Software de utilidad
- Administración de Windows