1.-Otras formas de separar los elementos del conjunto en parametro /L:
Los elementos del conjunto FOR, los podiamos separar de la siguiente manera:
He experimentado con algunas otras:
En este hubo un ligero cambio, no inició desde 1, sino desde 0, luego explicaré por qué.
Lo mismo, inicia desde 0.
Por qué inicia desde 0 y no de 1?
Aqui:
El primer 1 no es reconocido como un elemento valido y lo inicia desde 0, da lo mismo que hicieramos:
Igual lo iniciaría en 0.
Esto puede tener una aplicación práctica, ya sea para confundir un código:
Se forza a que el primer elemento empieze por 0.
2.-Especificar numeros en hexadecimal como elementos del conjunto, para el parametro /L
Muestra una lista desde 1 hasta 100.
Tambien se puede especificar valores negativos:
Combinar decimal con hexadecimal:
Más ejemplos:
3.-Nueva forma de poner comentarios, sobre el conjunto del comando FOR, parametro /L
Como ven, se puede poner texto despues del elemento "inicio" "paso" y "fin".
Otra manera, a mi parecer mas comoda:
Otros ejemplos:
Incluso pueden poner caracteres especiales dentro del comentario, son completamente ignorados.
Combinadas todas las técnicas:
Salida:
Nota: Estas son cosas que he descubierto solo, si algunas de ellas ya estaban documentadas, haganmelo saber.
Leo Gutiérrez Ramirez.
Saludos.
Código [Seleccionar]
FOR /L %variable IN (inicio, paso, fin) comando DO
Los elementos del conjunto FOR, los podiamos separar de la siguiente manera:
Código [Seleccionar]
for /l %%_ in (1 1 10) do (Acciones)
for /l %%_ in (1,1,10) do (Acciones)
He experimentado con algunas otras:
Código (dos) [Seleccionar]
for /l %%_ in (1;1;10) do (echo %%_)
for /l %%_ in ([1;1;10]) do (echo %%_)
En este hubo un ligero cambio, no inició desde 1, sino desde 0, luego explicaré por qué.
Código (dos) [Seleccionar]
for /l %%_ in ([1,1,10]) do (echo %%_)
Lo mismo, inicia desde 0.
Por qué inicia desde 0 y no de 1?
Aqui:
Código (dos) [Seleccionar]
for /l %%_ in ([1,1,[10]]) do (
echo %%_
)
El primer 1 no es reconocido como un elemento valido y lo inicia desde 0, da lo mismo que hicieramos:
Código (dos) [Seleccionar]
for /l %%_ in ("1" 1 20) do (echo %%_)
Igual lo iniciaría en 0.
Esto puede tener una aplicación práctica, ya sea para confundir un código:
Código (dos) [Seleccionar]
for /l %%_ in (
{[200]}
2
100
) do (
echo %%_
)
Se forza a que el primer elemento empieze por 0.
2.-Especificar numeros en hexadecimal como elementos del conjunto, para el parametro /L
Código [Seleccionar]
FOR /L %variable IN (inicio, paso, fin) comando DO
Código (dos) [Seleccionar]
for /l %%_ in (0x0001 0x0001 0x0064) do (echo %%_)
Muestra una lista desde 1 hasta 100.
Tambien se puede especificar valores negativos:
Código (dos) [Seleccionar]
for /l %%_ in (-0x0004 0x0001 0X0064) do (echo %%_)
Combinar decimal con hexadecimal:
Código (dos) [Seleccionar]
for /l %%_ in (0x0001 0x0001 100) do (echo %%_)
Más ejemplos:
Código (dos) [Seleccionar]
for /l %%_ in (0x64 0x01 0xC8) do (
pause
echo %%_
)
Código (dos) [Seleccionar]
for /l %%_ in (0x01 0x01 0x64) do (
echo %%_
)
3.-Nueva forma de poner comentarios, sobre el conjunto del comando FOR, parametro /L
Código [Seleccionar]
FOR /L %variable IN (inicio, paso, fin) comando DO
Código (dos) [Seleccionar]
for /l %%_ in (1Uno 1Incremento_de_uno 100Hasta_100) do (
echo %%_
)
Como ven, se puede poner texto despues del elemento "inicio" "paso" y "fin".
Otra manera, a mi parecer mas comoda:
Código (dos) [Seleccionar]
for /l %%_ in (2"Dos demas comentarios" 2"Dos dems comentarios" 100"Cien dems comentarios") do (
echo %%_
)
Otros ejemplos:
Código (dos) [Seleccionar]
for /l %%_ in (
1-"Empezamos en uno"
1-"Con un incremento de una unidad"
100-"Terminamos en 100"
) do (
echo %%_
)
Incluso pueden poner caracteres especiales dentro del comentario, son completamente ignorados.
Combinadas todas las técnicas:
Código (dos) [Seleccionar]
@echo off
for /l %%_ in (
{[-0x001E]}-"Especifico -30 en hexadecimal, pero es ignorado y empieza en 0, por los {[]}"
;2-"Especifico 2 en decimal, incrementa la unidad en 2"
;0x0064-"100 en hexadecimal, el loop termina en 100"
) do (
echo %%_
ping -n 1 loopback > nul 2>&1
)
Salida:
Código [Seleccionar]
0
2
4
6
8
10
Nota: Estas son cosas que he descubierto solo, si algunas de ellas ya estaban documentadas, haganmelo saber.
Leo Gutiérrez Ramirez.
Saludos.