for

Windows CMD · Terminal · solo documentación

Qué hace y para qué sirve

Repite una orden para cada elemento de un conjunto: ficheros, carpetas, números o líneas de un fichero.

Sintaxis

for [/d | /r | /l | /f] %variable in (conjunto) do orden

Opciones y parámetros

  • %i in (conjunto)

    Recorre los elementos del conjunto; en un .bat se escribe %%i.

  • /d

    Recorre carpetas en lugar de ficheros.

  • /r [ruta]

    Recorre un árbol de carpetas de forma recursiva.

  • /l

    Cuenta números con la forma (inicio,paso,fin).

  • /f

    Procesa las líneas de un fichero o la salida de una orden, dividiéndolas en campos.

  • tokens=

    Con /f, qué campos de cada línea se usan, como tokens=1,2.

  • delims=

    Con /f, caracteres que separan los campos.

  • skip=N

    Con /f, número de líneas que se saltan al principio.

Ejemplos de uso

  • for %i in (*.txt) do echo %i

    Muestra el nombre de cada fichero .txt de la carpeta.

  • for /l %i in (1,1,5) do echo %i

    Cuenta del 1 al 5.

  • for /d %d in (*) do echo %d

    Lista las subcarpetas de la carpeta actual.

  • for /f "tokens=1,2 delims=," %a in (datos.csv) do echo %a - %b

    Lee un CSV y muestra sus dos primeras columnas.

Notas y errores frecuentes

  • En la consola se escribe %i con un solo porcentaje; dentro de un fichero .bat hay que escribir %%i.
  • Antes de usar for con del o rd, prueba con echo para ver qué elementos se procesarían.

Comandos relacionados