Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: securedigital en 22 Noviembre 2006, 20:30 pm



Título: FOR /L %i IN (1,1,5000) DO
Publicado por: securedigital en 22 Noviembre 2006, 20:30 pm
Simple y llanamente esto:

FOR /L %i IN (1,1,5000) DO       -->>  Script to loop

Para mi no es tan simple !! :D
No entiendo muy bien la sintaxis, repite con el FOR , la /L no se que es, el %i es una variable?
Los numeros 1,1,5000 si no me equivoco representan un periodo de tiempo verdad? como funciona para personalizar mis valores?


Saludos


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: knightlain en 26 Noviembre 2006, 23:30 pm
tal vez este link te sea de ayuda, por eso google es cool  ;), me imagino que ya sabías que era del batch

http://www.blat.net/examples/FORinDO.html


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: sirdarckcat en 27 Noviembre 2006, 00:39 am
:P es un ciclo en batch, para recorrer numericamente.. es como un:

for i = 1 to 5000 step 1

o algo asi.. en vb y pascal.. mira:

FOR /L %i IN (1,1,5000) DO

FOR es el comando xD
/L es el argumento que da paso a la iteracion.
%i, como bien dices, es la variable
IN (1,1,5000)

el primer parametro es el valor inicial, el segundo parametro es cuanto se va a agregar para cada iteracion, y el ultimo, para decir, en que valor se va a detener.

los 3 parametros permiten valores negativos.

lo que se escribe despues del DO, seran los comandos a ejecutar, puedes usar parentesis para agrupar mas de 1.

Saludos!!


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: securedigital en 4 Diciembre 2006, 21:32 pm
Hola

Si, se que es en batch.

Ostras buena explicacion y detallada Sirdarckcat gracias
Me ha quedado muy claro, solo me surge una pregunta. Tambien gracias knightlain por el link  :D

DE tal forma que este script me repetira lo que ponga 5000 veces y se aturara? Eso cuanto tiempo en minutos significa? La idea es que el codigo que le quiero meter lo repita durante bastante rato, como minimo 30 minutos.



Saludos


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: sirdarckcat en 4 Diciembre 2006, 23:14 pm
ahmmmm mejor ciclalo, y deja un comando con AT.EXE para que lo finalize.. que no creo que exista alguna funcion para dejar un script determinado tiempo..

podrias usar la variable %TIME% para ver cuanto lleva, en ves de usar AT.. es como gustes :P

Saludos!!


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: securedigital en 4 Diciembre 2006, 23:30 pm
Me dijiste que la segunda cifra eran los ciclos que a hacer

Si lo dejo asi que tal para que dure un buen rato?


FOR /L %i IN (1,15,5000) DO

Por cierto, el comando AT verdad que es el porgramador de tareas ? me recuerda a un exploit que hay sobre este... :P

Inluso se puede añadir que al cabo de media hora con el AT se detenga? Como se haria esto?


Saludos


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: sirdarckcat en 4 Diciembre 2006, 23:51 pm
1.- con taskkill lo detienes
2.- el "exploit" usando AT no sirve xD (no era un bug)
3.- si se quedaria un buen rato con ese codigo, pero no duraria exactamente 30 minutos..

Saludos!!


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: securedigital en 5 Diciembre 2006, 20:54 pm
ok

Por cierto, pongo el codigo

@echo off
  for /l %i in (1,1,5000) do
    ping localhost
exit

Y me dice que no se esperaba "i" en este momento...que le pasa al script?


Saludos


Título: Re: FOR /L %i IN (1,1,5000) DO
Publicado por: neox. en 27 Diciembre 2006, 13:02 pm
Aunque no se debe revivir post, la pregunta es muy simple y como nadie contesto:

Para bats la sintaxis del comando FOR cambia en que la varible no viene determinada por %letra , sino por %%letra.

Prueba esto:

Citar
@echo off
  for /L %%i in (1,1,5000) do ping localhost