Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: dj kuzmar en 2 Febrero 2010, 21:42 pm



Título: Validar ingreso en bat
Publicado por: dj kuzmar en 2 Febrero 2010, 21:42 pm
Hola amigos necesito ayuda, tengo un bat que pide ingresar hora, como puedo validar que lo que se ingrese sea en este formato hh:mm, tengo lo siguiente pero no me funciona, ya que siempre dice que es la hora es erronea.
Código:
set /p hor=Indique hora hh:mm  :
echo ##########################
set  hora=!hor:~0,2!
set  min=!hor:~3,2!
if defined hor (set "hor=!hor:.=!")
echo.!hor!|findstr.exe /r /i "\<[0-23]*\-[0-59]\>">nul 2>&1
if errorlevel 1 (
   echo hora erronea
   pause
   goto 1) else (
   echo la hora es !hor!
   echo los minutos son !min!)

 
  


Título: Re: Validar ingreso en bat
Publicado por: leogtz en 3 Febrero 2010, 01:03 am
Supongamos que estás usando ya:
Código:
setlocal enabledelayedexpansion
para !!.

Y para asegurarte usa los %% en los errorlevels.

La línea del los set podrías ahorrartela así:

Código:
@echo off
:code
set /p "hor=Hora : "
if not defined hor (goto:code)
for /f "tokens=1,2 delims=:" %%a in ("%hor%") do (set "hora=%%a" & set "min=%%b")

Comprueba que tu expresión regular esté correcta.