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.
/dRecorre carpetas en lugar de ficheros.
/r [ruta]Recorre un árbol de carpetas de forma recursiva.
/lCuenta números con la forma (inicio,paso,fin).
/fProcesa 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=NCon /f, número de líneas que se saltan al principio.
Ejemplos de uso
for %i in (*.txt) do echo %iMuestra el nombre de cada fichero .txt de la carpeta.
for /l %i in (1,1,5) do echo %iCuenta del 1 al 5.
for /d %d in (*) do echo %dLista las subcarpetas de la carpeta actual.
for /f "tokens=1,2 delims=," %a in (datos.csv) do echo %a - %bLee 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.