Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <[(x)]> en 26 Enero 2009, 18:17 pm



Título: error con IF - BATCH
Publicado por: <[(x)]> en 26 Enero 2009, 18:17 pm
holas nuevamente
 
Estaba haciendo un programitita y me salto este error 'No se esperaba 2a:~6 en este momento.'

aquí el code
Código:
::@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
Código:

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)




Título: Re: error con IF - BATCH
Publicado por: Darioxhcx en 26 Enero 2009, 22:54 pm
no entendi =|

que keres hacer ? xD
saludos


Título: Re: error con IF - BATCH
Publicado por: <[(x)]> en 27 Enero 2009, 02:48 am
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:
Código:
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


Título: Re: error con IF - BATCH
Publicado por: Darioxhcx en 27 Enero 2009, 05:19 am
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


Título: Re: error con IF - BATCH
Publicado por: _m en 27 Enero 2009, 05:45 am
Código
  1. @ECHO OFF
  2. CALL:SLEEP [SEGUNDOS]
  3. GOTO:EOF
  4. :SLEEP
  5. SETLOCAL ENABLEEXTENSIONS
  6. (SET TIME=)
  7. IF "%1"=="" (GOTO:EOF)
  8. (SET /A LIMIT=0)
  9. (SET /A LIMIT=%1)
  10. IF %LIMIT% LEQ 0 (ENDLOCAL & GOTO:EOF)
  11. (SET /A CONT=0)
  12. :TIME
  13. (SET MIRROR1=%TIME:~-4,1%)
  14. :INCREMEN
  15. (SET MIRROR2=%TIME:~-4,1%)
  16. IF NOT %MIRROR2%==%MIRROR1% (GOTO:COUNT)
  17. GOTO:INCREMEN
  18. :COUNT
  19. (SET /A CONT +=1)
  20. IF NOT "%CONT%"=="%LIMIT%" (GOTO:TIME)
  21. GOTO:EOF


Título: Re: error con IF - BATCH
Publicado por: <[(x)]> en 27 Enero 2009, 05:56 am
Darioxhcx: nop

_m:

podrias explicarlop

para q son los ()

y lo prove y no me funciona...