forfiles
es una utilidad de software de computadora para Microsoft Windows , que selecciona archivos y ejecuta un comando en ellos. Los criterios de selección de archivos incluyen el nombre y la última fecha de modificación. El especificador de comando admite algunas opciones de sintaxis especiales. Se puede utilizar directamente en la línea de comandos o en archivos por lotes u otros scripts .
Desarrollador (es) | Microsoft |
---|---|
Sistema operativo | Microsoft Windows |
Tipo | Mando |
Licencia | Software comercial patentado |
Sitio web | docs |
El forfiles
comando se proporcionó originalmente como un complemento, en los kits de recursos de Windows 98 , [1] Windows NT [ cita requerida ] y Windows 2000 [2] . Se convirtió en una utilidad estándar con Windows Vista , como parte de las nuevas funciones de administración .
Uso
El forfiles
comando tiene varios modificadores de línea de comandos . Si no se proporcionan interruptores o parámetros, genera el nombre de cada archivo en el directorio actual .
Interruptores
Cambiar | Argumento | Significado |
---|---|---|
/PAG | nombre de ruta | El directorio (carpeta) donde buscar archivos. El predeterminado es el directorio actual. No se aceptan rutas UNC (\\ máquina \ recurso compartido). |
/METRO | máscara de búsqueda | Un patrón glob (búsqueda con comodines). Solo se seleccionan los archivos cuyo nombre de archivo coincide con el patrón. La extensión del archivo está incluida en el nombre del archivo; la ruta (nombre de la carpeta) no lo es. El patrón debe coincidir con el nombre completo o utilizar comodines. El valor predeterminado es hacer coincidir todos los archivos. Esta opción trata los patrones globales |
/S | (ninguno) | Selecciona archivos coincidentes en subdirectorios. De forma predeterminada, solo se busca en el directorio único especificado. |
/C | mando | Ejecute el comando dado para cada archivo coincidente. Por lo general, la cadena de comando debe estar entre comillas dobles. Consulte a continuación la sintaxis dentro de la cadena de comandos. El comando predeterminado es CMD /C ECHO @FILE , que hace que se muestre (se muestre) el nombre de cada archivo coincidente. |
/D | fecha | Selecciona archivos según su última fecha de modificación. Consulte a continuación la sintaxis de la fecha. De forma predeterminada, los archivos se seleccionan independientemente de su fecha. |
/? | (ninguno) | Muestra un mensaje de ayuda (breves instrucciones de uso). Suprime la búsqueda de archivos / ejecución de comandos. No se puede utilizar con ningún otro interruptor. |
Sintaxis del comando
La cadena de comando se ejecuta como se indica, excepto como se indica a continuación.
Las secuencias de la forma 0xFF
, donde "0x" es literal y "FF" representa cualquier número hexadecimal de dos dígitos , se reemplazan con el valor correspondiente de un solo byte. Esto se puede utilizar para incrustar caracteres ASCII que no se imprimen o caracteres ASCII extendidos .
La secuencia \"
se reemplaza con una comilla literal "
. 0x22
También se puede utilizar el formulario de secuencia 0x descrito anteriormente , que además oculta el "
del intérprete de comandos.
Se proporcionan varias variables , que se utilizarán en el comando como marcadores de posición para los valores de cada archivo. Técnicamente, las variables no son necesarias, pero deben usarse si el comando va a variar para cada archivo.
Variable | Significado |
---|---|
@expediente | El nombre del artículo correspondiente, entre comillas. |
@nombre | El nombre de base del elemento coincidente (sin extensión de archivo), entre comillas. |
@ext | La extensión del archivo, entre comillas dobles, sin punto inicial. Si un archivo tiene varias extensiones, solo se devuelve la última. Si el archivo no tiene extensión, se devuelve una cadena vacía entre comillas. |
@camino | Ruta completa del elemento coincidente, entre comillas, incluida la letra de la unidad y la extensión del archivo (si corresponde). |
@relpath | Ruta del elemento coincidente, entre comillas dobles y relativa al directorio de inicio (dada por / P). Cada ruta comienza con un punto y una barra invertida ( .\ ). |
@isdir | Evalúa a la cadena literal TRUE si el elemento coincidente es un directorio, o FALSE si no. |
@fsize | Tamaño del elemento coincidente, en bytes . Los directorios informan un tamaño de cero. |
@fdate | Fecha de la última modificación del archivo, en el formato de fecha localizada del usuario actual. |
@ftime | Hora en que se modificó por última vez el archivo, en el formato de hora localizada del usuario actual. |
Sintaxis de fecha
El conmutador de fecha (/ D) selecciona archivos en función de su última fecha de modificación, dado un argumento de fecha .
El argumento de fecha se puede dar como una fecha literal, en formato MM / DD / AAAA (no se aceptan otros formatos de fecha). Alternativamente, el argumento de la fecha se puede dar como un número, en cuyo caso se considera que significa una edad en días (es decir, la fecha del día días antes de la fecha actual).
Si el argumento de la fecha comienza con un signo menos (-), solo se seleccionan los archivos modificados en la fecha indicada o antes (archivo más antiguo / modificado antes). De lo contrario, solo se seleccionan los archivos modificados en la fecha indicada o después (archivos más recientes / modificados más tarde). Se puede dar un signo más (+) explícito, pero es el valor predeterminado. Tenga en cuenta que ambos modos seleccionan archivos en la fecha indicada. No hay forma de seleccionar archivos solo en una fecha determinada (sin también antes o después).
Ejemplos de
El siguiente comando selecciona todos los archivos de registro (* .LOG) en el directorio de Windows de 30 días o más y los enumera con su fecha.
C: \> FORFILES / PC: \ Windows / M * .LOG / D -30 / C "CMD / C ECHO @FDATE @FILE " 6/12/2015 " iis7.log" 5/28/2015 "msxml4-KB954430 -enu.LOG " 28/5/2015" msxml4-KB973688-enu.LOG "26/5/2015" setuperr.log "
El siguiente comando eliminaría los mismos archivos.
C: \> FORFILES / PC: \ Windows / M * .LOG / D -30 / C "CMD / C DEL @PATH"
Se CMD /C
requiere el uso de en los ejemplos anteriores, ya que ambos ECHO
y DEL
son internos al procesador de comandos , en lugar de programas de utilidad externos.
Ver también
- cmd.exe : el programa que implementa el intérprete de línea de comandos de Windows
- Bucle Foreach : los comandos FOR y FORFILES implementan un bucle for-each
- find (Unix) : comando de Unix que busca archivos por atributo, similar a
forfiles
- buscar (Windows) : comando de DOS y Windows que busca texto que coincida con un patrón
- grep : comando de Unix que encuentra texto que coincide con un patrón, similar a Windows
find
Referencias
- "FORFILES", Microsoft Windows (software de computadora), 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 | Documentos de Microsoft