codigo para pausar batch

Iniciado por Pony-Magic, 16 Diciembre 2008, 23:08 PM

0 Miembros y 1 Visitante están viendo este tema.

Pony-Magic

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


@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

_carlos_

#1
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.

Pony-Magic

#2
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.