elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 05:23  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  Validar ingreso en bat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validar ingreso en bat  (Leído 1,471 veces)
dj kuzmar

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Validar ingreso en bat
« en: 2 Febrero 2010, 21:42 »

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!)

 
  


« Última modificación: 3 Febrero 2010, 01:49 por Leo Gutiérrez. » En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Validar ingreso en bat
« Respuesta #1 en: 3 Febrero 2010, 01:03 »

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.


« Última modificación: 3 Febrero 2010, 01:55 por Leo Gutiérrez. » En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines