FOR: Ejecuta un comando para cada archivo en un conjunto de archivos.


... Los ejemplos del comando "FOR"
... "FOR" Extracto de la ayuda de Microsoft Windows
... Información importante, consejos para el comando "FOR"

El comando: "FOR" está activado Windows 11, 10, .. disponible

Los ejemplos del comando "FOR"

El`FOR`El comando en el símbolo del sistema de Windows se utiliza para realizar un bucle en archivos por lotes. Aquí hay unos ejemplos: Ejemplo 1: recorrer archivos en un directorio:

FOR %G IN (directorio\*) DO ECHO %G

Descripción: Este comando imprime el nombre de cada archivo en el directorio especificado. Ejemplo 2: recorrer archivos con una extensión de archivo específica:

FOR %G IN (directorio\*.txt) DO ECHO %G

Descripción: Imprime el nombre de cada archivo de texto en el directorio especificado. Ejemplo 3: Iterar a través de archivos de forma recursiva en subdirectorios:

FOR /R directorio %G IN (*.txt) DO ECHO %G

Descripción: Recorre recursivamente todos los subdirectorios del directorio especificado e imprime el nombre de cada archivo de texto. Ejemplo 4: recorrer números en un rango específico:

FOR /L %G IN (1,1,10) DO ECHO %G

Descripción: Genera los números del 1 al 10. Ejemplo 5: recorrer caracteres en una cadena:

FOR %G IN ("Hola") DO ECHO %G

Descripción: Imprime cada letra de la palabra "Hola". Ejemplo 6: recorrer el contenido del archivo línea por línea:

FOR /F "tokens=*" %G IN (archivo.txt) DO ECHO %G

Descripción: Itera a través de las líneas del archivo "File.txt" y genera cada línea. Ejemplo 7: iteración a través de variables de entorno:

FOR %G IN (%PATH%) DO ECHO %G

Descripción: Itera a través de las rutas en la variable de entorno.`PATH`y genera cada ruta. Ejemplo 8: Uso de`SET`en un bucle:

FOR %G IN (1 2 3) DO SET /A Número=%G * 2 & ECHO doble de %G es %Número%

Descripción: Establece una variable`Número`al doble del número actual en el bucle e imprime esto. Ejemplo 9: iteración a través de subdirectorios y archivos:

FOR /R %G IN (*) DO ECHO %G

Descripción: Atraviesa recursivamente todos los subdirectorios y archivos del directorio actual. Ejemplo 10: Bucles anidados:

FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H

Descripción: Anida dos bucles e imprime todas las combinaciones de %G y %H. Tenga en cuenta que en archivos por lotes`%`a través de`%%`debe ser reemplazado. Por ejemplo:`FOR %G IN (...) DO ECHO %%G`. Sólo se utiliza el signo de uno por ciento en el mensaje directo (`%`).

"FOR" Extracto de la ayuda de Microsoft Windows

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

Ejecuta el comando para cada uno de los archivos especificados en 
el
conjunto de archivos.

FOR %variable IN (conjunto) DO comando [parámetros]

  %variable  Especifica un parámetro reemplazable de una sola 
letra.
  (conjunto)  Especifica un conjunto de uno o más archivos.  Se 
pueden
              usar comodines.
  comando     Especifica el comando que se ejecutará para cada 
archivo.
  parámetros  Especifica los parámetros o modificadores del 
comando
              especificado.

Para usar el comando FOR en un programa por lotes, especificar
%%variable en vez de %variable.  Los nombres de las variables
distinguen entre mayúsculas y minúsculas, por lo tanto %i no es 
lo
mismo que %I.

Si las extensiones de comandos están habilitadas, las siguientes 
formas
adicionales del comando FOR son compatibles:
FOR /D %variable IN (conjunto) comando DO [parámetros]
Si el conjunto contiene comodines, se especifica para coincidir 
con el nombre 
del directorio en vez de los nombres de archivo.
FOR /R [[unidad:]ruta] %variable IN (set) comando DO [parámetros]

 Guía el directorio del árbol de raíz a [unidad:]ruta, ejecutando 
la 
instrucción FOR en cada directorio del árbol. Si no se especifica 
el 
directorio después de /R entonces se asume que es el directorio 
actual. 
Si el conjunto es solamente un simple carácter de punto (.) 
entonces enumerará 
el árbol del directorio.

FOR /L %variable IN (inicio, paso, fin) comando DO
 [parámetros]

El conjunto es una sucesión de números que va desde inicio hasta 
fin y que 
aumenta (o disminuye) en función de lo especificado en paso. Así 
(1, 1, 5) generará la sucesión 1 12 3 4 5 y (5, -1, 1) generará 
la sucesión 5 4 3 2 1

FOR /F ["opciones"] %variable IN (conjunto-archivo) comando DO 
[parámetros]
FOR /F ["opciones"] %variable IN ('cadena') comando 
DO  [comando-parámetros]
FOR /F ["opciones"] %variable IN ('comando')comando 
DO  [comando-parámetros]
o, si la opción usebackq está presente:
FOR /F ["opciones"] %variable IN (conjunto-archivo) comando DO 
[parámetros]
comando DO [comando-parámetros]
FOR /F ["opciones"] %variable IN ('cadena') comando 
DO [parámetros]
FOR /F ["opciones"] %variable IN (`comando`) comando 
DO [parámetros]
    Conjunto de archivos es uno o más nombres de archivos. Cada 
archivo es abierto, leído y procesado antes de ir al siguiente 
archivo en el conjunto 
de archivos.
Procesar consiste en leer el archivo, partirlo en líneas 
individuales de texto 
y analizar cada línea en cero o más símbolos.  El cuerpo del 
bucle se llama 
con los valores de la variable establecidos para las cadenas de 
símbolo 
encontradas. De forma predeterminada, /F pasa el primer símbolo 
separado en
 blanco desde cada línea .
Las líneas en blanco son saltadas. Puede sustituir el 
comportamiento de análisis predeterminado si especifica el 
parámetro opcional "opciones". Esto 
es una cadena entre comillas que contiene una o más palabras 
claves para especificar diferentes opciones de análisis. Las 
palabras claves son:
  


        eol=c           - especifica un carácter de comentario
                          al final de la línea (sólo uno)
        skip=n          - especifica el número de
                          líneas que hay que saltarse al 
principio
                          del archivo.
        delims=xxx      - especifica un grupo de delimitadores.
                          Esto reemplaza al grupo de 
delimitadores
                          predeterminados de espacio y 
tabulación.
        tokens=x,y,m-n  - especifica qué símbolos de cada línea 
deben
                          pasarse al cuerpo de la cláusula "for" 
en
                          cada iteración.
                          Esto causará que los nombres de 
variables
                          adicionales sean asignados.
                          La forma m-n es un intervalo del 
símbolo
                          m-ésimo al símbolo n-ésimo. Si el 
último
                          carácter en la cadena tokens= es un 
asterisco,
                          se asigna una variable adicional que 
recibe el
                          resto del texto en la línea posterior 
al último
                          símbolo analizado.
        usebackq        - especifica que la nueva semántica está 
vigente,
                          donde una cadena entre comillas 
inversas se ejecuta
                          como un comando y una cadena con 
comillas simples
                          es un comando de cadena literal y 
permite el uso de
                          comillas dobles para entrecomillar los 
nombres de
                          archivo en un grupo de nombres de 
archivos.

 Estos ejemplos pueden ayudar:

FOR /F "eol=; tokens=2,3* delims=, " %i in (archivo.txt) do @echo 
%i %j %k

  analizará cada línea en mi archivo.txt excepto las que inicien 
con un punto 
y coma, pasando el segundo y tercer símbolo de cada línea al 
cuerpo de FOR.  
Los símbolos están delimitados por comas y/o espacios.
Tenga en cuenta que las instrucciones del cuerpo de FOR hacen 
referencia a %i para obtener el segundo símbolo, a %j para 
obtener el tercero y a %k para obtener el resto de los símbolos 
posteriores al tercero. Para los nombres 
de archivo que contengan espacios, necesita poner poner comillas 
dobles en 
los nombres de archivos.  Para usar comillas dobles de esta 
manera, también necesita usar la opción usebackq, de lo contrario 
las comillas dobles
serán interpretadas para definir el análisis de una cadena 
literal.
%i está explícitamente declarado en la instrucción y %i está 
explícitamente declarado en la instrucción FOR, %j y %k están 
declarados implícitamente a través de la opción =tokens. Puede 
especificar 
hasta 26 símbolos a través de la línea =tokens, siempre y cuando 
no cause 
un intento de declarar una variable mayor que la letra 'z' o 'Z'.
Recuerde, los nombres de variables de FOR son de una sola letra y 
distinguen mayúsculas de minúscula. Además, las variables son 
globales y no puede haber 
más de 52 variables activas al mismo tiempo.  
  También puede usar la lógica de análisis de FOR /F en una 
cadena inmediata convirtiendo el conjunto de archivos entre 
paréntesis en una cadena entre 
comillas usando caracteres con comillas simples. Será tratada y 
analizada
como una simple línea de entrada de un archivo.
Finalmente, puede usar el comando FOR /F para analizar la salida 
de un comando.   Se hace convirtiendo el conjunto de archivos 
entre paréntesis una cadena con comillas invertidas.  Se tratará 
como una línea de comandos que se pasa a un CMD.EXE secundario y 
la salida es capturada en memoria y evaluada como si fuera 
un archivo.  Como en el siguiente ejemplo:
      FOR /F "usebackq delims==" %i IN (`conjunto`) DO @echo %i 
enumerará los nombres de variable de entorno en el entorno 
actual.
    


Además, la sustitución de las referencias de variables
FOR ha sido mejorada.
Ahora puede usar la siguiente sintaxis opcional:

    %~I         - expande %I quitando las comillas (") que 
pudiera haber
    %~fI        - expande %I a un nombre de ruta 
 calificado            
    %~dI        - expande %I sólo a una letra de 
unidad
    %~pI        - expande %I sólo a una ruta 
    %~nI        - expande %I sólo a un nombre de 
archivo
    %~xI        - expande %I sólo a una extensión de archivo
    %~sI        - ruta expandida contiene sólo nombres cortos
    %~aI        - expande %I a atributos de archivos
    %~tI        - expande %I a fecha/hora del archivo
    %~zI        - expande %I a tamaño del archivo
    %~$PATH:I   - busca los directorios de la lista de 
la variable de entorno de PATH y expande %I al nombre totalmente 
calificado 
del primero que se encuentre.
Si el nombre de la variable de entorno no es definido o 
no se encuentra el archivo en la búsqueda, el modificador se 
expande a la 
cadena vacía.
Los modificadores se pueden combinar para conseguir resultados 
compuestos: 

    %~dpI       - expande %I sólo a una letra de unidad 
y ruta
    %~nxI       - expande %I sólo a un nombre de archivo y 
extensión
    %~fsI       - expande %I sólo a un nombre de ruta 
con nombres cortos
    %~dp$PATH:i - busca los directorios de la lista de 
la variable de entorno de PATH para %I y se expande a la letra de 
unidad y 
ruta del primero que encuentre.
    %~ftzaI     - expande %I a DIR como línea de salida.
En los ejemplos anteriores %I y PATH pueden ser reemplazados por 
otros 
valores válidos.  La sintaxis %~ está terminada por un nombre de 
variable 
FOR válido.
El código se vuelve más legible si se usan variables en mayúscula 
como %I, 
además esto evita confundir las variables con los modificadores, 
los cuales 
no distinguen entre mayúsculas y minúsculas.

Información importante, consejos para el comando "FOR"

Al usar el`FOR`comando en el símbolo del sistema de Windows, hay algunos puntos importantes a tener en cuenta: 1. Sintaxis en archivos por lotes: Si tiene la`FOR`comando en un archivo por lotes, debe`%`a través de`%%`sustituto. Por ejemplo:`FOR %%G IN (...) DO ECHO %%G`. 2. Uso de variables: Normalmente se utilizan variables (p. ej.,`%%G`) en el`FOR`-Bucle para almacenar valores. Tenga en cuenta que las variables no pueden acceder a los valores asignados fuera del bucle.

SET Variable=Valor inicial
FOR %%G IN (Valor1 Valor2) DO SET Variable=%%G
ECHO %Variable%

aquí lo hará`%Variable%`mantener el valor "valor inicial" porque el`SET`-Instrucción en un lugar separado.`FOR`se ejecuta el bucle. 3. Espacios en rutas o nombres de archivos: Si las rutas o nombres de archivos contienen espacios, la ruta o el nombre de archivo deben estar entre comillas para garantizar que se interpreten correctamente.

FOR %%G IN ("Directorio con espacios\Archivo con espacios.txt") DO ECHO %%G

4. Opciones para el`FOR /F`-Bucle: Si tu`FOR`en conexion con el`/F`opción (por ejemplo,`FOR /F "tokens=*" %%G IN (archivo.txt) DO ECHO %%G`), necesita conocer la sintaxis del`tokens`y`delims`Ajuste las opciones con cuidado para obtener los resultados deseados. 5. Bucles anidados: Con los bucles anidados, debes asegurar el uso correcto de`%`o`%%`preste atención para asegurarse de que se haga referencia a las variables en el bucle correcto.

FOR %%G IN (1 2) DO (
    ECHO Bucle exterior: %%G
    FOR %%H IN (A B) DO ECHO Bucle interior: %%H
)

6. Fin de las líneas del archivo en`FOR /F`: Si usted`FOR /F`Para iterar sobre líneas en un archivo, de forma predeterminada cada línea hasta el primer espacio o pestaña se considera un token. Puedes hacer esto con la opción`delims`ajustar.

FOR /F "tokens=* delims=" %%G IN (archivo.txt) DO ECHO %%G

7. Opciones variables de fecha y hora: Si tiene la`%DATE%`- o`%TIME%`-Variables en uno`FOR`-Loop, debes prestar atención a la configuración regional del sistema, ya que el formato puede variar. 8. Iteración de archivos con codificación UTF-8: El`FOR /F`El comando puede tener dificultades para iterar a través de archivos con codificación UTF-8. En tales casos, podría ser mejor utilizar otras herramientas como`FINDSTR`usar. Es importante considerar los requisitos específicos de su caso de uso y la`FOR`-Ajuste el bucle en consecuencia. Puede`FOR /?`en el símbolo del sistema para ver la ayuda completa y todas las opciones disponibles.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



El comando FOR - Ejecuta un comando para cada archivo en un conjunto de archivos.

HTTP: ... console/es/032.htm
0.078
16809

Are there any problems with this images comparison tool on Windows 10/11?

Delete and Overwrite permanently?

How can I set up printer, or the page at the directory printout?

Clock in the foreground forced and background, ... differences!

How can I start the program at a certain time CMD, with examples?

Watch Star Wars Episode IV from Command Prompt!



(0)