Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Pony-Magic en 16 Diciembre 2008, 23:08 pm



Título: codigo para pausar batch
Publicado por: Pony-Magic en 16 Diciembre 2008, 23:08 pm
Este es un codigo que cree para dejar pasar un tiempo en batch. muchos usan:
       ping -n 1 localHost >nul
Pero con este codigo pueden dejar una cantidad de segundos exactos que seran contados mediante el codigo en un bucle con la variable %time%.

lo copian en su codigo y con un call:time Numero ya lo tienen.
        ( por ejemplo: call:time 5 )

  :)  bueno, es mi 1er post aca, asi que no critiquen mucho :xD

Código:
@echo off
:time
:: By PonyMagic
set r=%tmp%\time.txt
set x=0
if '%1==' ( Echo No hay numero. & GoTo:Eof )
if %1 leq 0 ( Echo el numero es 0 o negativo. & GoTo:Eof )
set cnt=%1
:_
echo %time% > %r%
for /f "tokens=3 delims=:" %%x in (%r%) do (set x1=%%x)
set x2=%x1:~0,2%
if "%x2%"=="%x3%" ( GoTo _ )
set x3=%x2%
set /a cnt=%cnt%-1
if "%cnt%"=="0" ( del /f /q %r% & GoTo:Eof )
GoTo _

Atte Pony-Magic

Edito: Edite el codigo, gracias _carlos_ por decirme del error   :)

Edito: Edite el codigo, gracias _carlos_ por decirme del otro error    :xD


Título: Re: codigo para pausar batch
Publicado por: _carlos_ en 16 Diciembre 2008, 23:47 pm
Está bueno,

yo hice uno la otra vez: http://sites.google.com/site/cmdbatch/funcion-sleep

Tu función si le pasan 0 o un número negativo se queda pegada.


Título: Re: codigo para pausar batch
Publicado por: Pony-Magic en 17 Diciembre 2008, 00:52 am
si, es verdad, gracias por la corregirlo. se puede arreglar con un:
if %1 leq 0 ( GoTo:Eof )
me parece insesesario postear todo el code denuevo con esa sola modificacion. modifico mi 1er post.