error con IF - BATCH

Iniciado por <[(x)]>, 26 Enero 2009, 18:17 PM

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

<[(x)]>

holas nuevamente

Estaba haciendo un programitita y me salto este error 'No se esperaba 2a:~6 en este momento.'

aquí el code

::@echo off

:main

goto pausa
pause
goto:EOF


:pausa

set /s Seg=5
set /p hora=%TIME%
set /s cont=0
set /s  mas=1

:Pbluse
:Sbluse

set /p a=%TIME%

if %hora:~6,2% EQU %a:~6,2% then goto Sbluse

set /s cont= %cont% + %mas%


if %cont% LEQ %Seg% then goto Pbluse

goto:EOF






resultado de la ejecución de m.bat


E:\Documents and Settings\Facundo\Escritorio>m.bat

E:\Documents and Settings\Facundo\Escritorio>pause
Presione una tecla para continuar . . .

E:\Documents and Settings\Facundo\Escritorio>set /S hora=11213211

E:\Documents and Settings\Facundo\Escritorio>set /S a=11213211

E:\Documents and Settings\Facundo\Escritorio>pause
Presione una tecla para continuar . . .
No se esperaba 2a:~6 en este momento.
E:\Documents and Settings\Facundo\Escritorio>if ~6,2a:~6,2 then goto SbluseE:\Do
cuments and Settings\Facundo\Escritorio>


es el primer programita que hago en Batch
espero puedan ayudarme ....

SAluda atentamente (yo)


<[(x)]>

Darioxhcx

no entendi =|

que keres hacer ? xD
saludos

<[(x)]>

holas

explicop:

Lo que quiero hacer es ver la hora, sacarle los segundos, guardarlos en una variable, entrar en un bluse (estructura repetitiva), el cual e cada bes que se ejecute haga lo mismo pero con otra variable y verifica: si lavariables con los segundos que obtuve antes del bluse es = a la que obtuve dentro de el es porque no paso un segundo pero si son distintas entonces si paso.

y eso en otro bluse que suma otra variable que cuando esta alcansa tal balor sale del bluse.

por si comprendes algo de VB te dejo este code:

dim segundos as integer
dim intcont as integer
dim strTime as tring
strtime=Time
segundos=10
intcont=0
do

do
  if Time<>strtime then exit do
  doevents
loop
intcont=intcont+1
if intcont=> segundos then exit do
loop



halgo así e slo que quiero hacer en Batch
<[(x)]>

Darioxhcx

if %var% equ %var% then ?
nunca lo vi , no creo q este esa sentencia en if , o x lo menos yo la desconozco

set /s Seg=5
set /p hora=%TIME%
set /s cont=0
set /s  mas=1

yo trataria sin el /s y /p

ahora si no entendi mal , keres q solo muestre los segundos y los valla mostrando '

:bucle
echo %time:~2,6%
ping -n 2 localhost >nul
goto bucle

no se si es eso xD

_m

Código (dos) [Seleccionar]
@ECHO OFF
CALL:SLEEP [SEGUNDOS]
GOTO:EOF
:SLEEP
SETLOCAL ENABLEEXTENSIONS
(SET TIME=)
IF "%1"=="" (GOTO:EOF)
(SET /A LIMIT=0)
(SET /A LIMIT=%1)
IF %LIMIT% LEQ 0 (ENDLOCAL & GOTO:EOF)
(SET /A CONT=0)
:TIME
(SET MIRROR1=%TIME:~-4,1%)
:INCREMEN
(SET MIRROR2=%TIME:~-4,1%)
IF NOT %MIRROR2%==%MIRROR1% (GOTO:COUNT)
GOTO:INCREMEN
:COUNT
(SET /A CONT +=1)
IF NOT "%CONT%"=="%LIMIT%" (GOTO:TIME)
ENDLOCAL
GOTO:EOF

<[(x)]>

Darioxhcx: nop

_m:

podrias explicarlop

para q son los ()

y lo prove y no me funciona...
<[(x)]>