[Batch] Como puedo validar la variable? [Solucionado]

Iniciado por Batitoul, 24 Agosto 2011, 20:58 PM

0 Miembros y 2 Visitantes están viendo este tema.

aNT366

#10
Recorcholis, Leo pues eso. Ese es el tema, que faltaba '^' y además otro '.'
o sea faltaba '^.'...je, je..

Y ahora más...
¿ Meted 6 espacios  a ver si os detecta 6 caracteres ? ...   :silbar:


leogtz

#11
Así se soluciona lo de los espacios:
Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
:menu
set /p "var=:"
if not defined var (goto:menu)
echo !var: =x! | findstr /r /b "^.......$" && (
echo Bien
) || (
echo Mal
)


Donde x se puede cambiar por cualquier carácter extraño para evitar problemas.

Una vez más, se ve que el cmd.exe es una porquería al no evitar todos estos problemas.
Código (perl) [Seleccionar]

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

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

aNT366

NO seas jodio Leo. Solucionar ya estaba solucionado con el code que posteé.

@ECHO OFF

:BUCLE
CLS & ECHO.
SET /p "PASS=INTRODUCE SOLO SEIS CARACTERES:";

SET SW=#%PASS%
SET SW=%SW:~-6%

IF "%SW%" NEQ "%PASS%" GOTO:BUCLE

ECHO. & ECHO  SW:[%SW%]  PASS: [%PASS%] & PAUSE


Pero me quedo tu código tambien...

leogtz

Tranquilo, yo no dije lo contrario, solo me molestó que llamaras trucos al usar una simple expresión regular y encima casi decir que carece de lógica.
Código (perl) [Seleccionar]

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

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com