[Batch] Verificar presencia de caracteres en una variable
Resuelto
Ekiam
Mensajes publicados
43
Fecha de registro
Estado
Miembro
Última intervención
-
barnabe0057 Mensajes publicados 14329 Fecha de registro Estado Colaborador Última intervención -
barnabe0057 Mensajes publicados 14329 Fecha de registro Estado Colaborador Última intervención -
Hola,
Me encuentro ante un problema porque me gustaría añadir una opción tal que cuando se introduzca cierta cadena de caracteres entonces ir a una etiqueta. Es difícil de explicar, pero este es el principio.
De hecho, si la persona pone en la variable choix: 1 /random entonces después de realizar lo que hay en la etiqueta 1, ir a la etiqueta Random y realizar las acciones. O sea, tendríamos: %choix%=1 /random
Me encuentro ante un problema porque me gustaría añadir una opción tal que cuando se introduzca cierta cadena de caracteres entonces ir a una etiqueta. Es difícil de explicar, pero este es el principio.
De hecho, si la persona pone en la variable choix: 1 /random entonces después de realizar lo que hay en la etiqueta 1, ir a la etiqueta Random y realizar las acciones. O sea, tendríamos: %choix%=1 /random
@echo off
chcp 28591 > nul
:menu
cls
set /p choix="Quelque chose à dire ? "
if %choix%==0 goto :0
if %choix%==1 goto :1
if %choix%==end goto :end
goto :menu
:0
echo Tu as dit 0
pause > nul
goto :end
:1
echo Tu as dit 1
pause > nul
goto :end
:Random
cls
echo %RANDOM%
pause
:end
echo C'est la fin
pause
exit
1 respuesta
-
Buenas noches,
Es muy simple, no solo IF permite hacer una condición, también están && y || :
@echo off
chcp 28591 > nul
:menu
cls
set /p choix="¿Alguna cosa que decir? "
echo %choix% | find "0" && goto :0
echo %choix% | find "1" && goto :1
if %choix%==end goto :end
goto :menu
:0
echo Dijiste 0
echo %choix% | find "random" && goto :Random
pause > nul
goto :end
:1
echo Dijiste 1
echo %choix% | find "random" && goto :Random
pause > nul
goto :end
:Random
cls
echo %RANDOM%
pause
:end
echo Es el final
pause
exit
--
“La inteligencia artificial se define como la contrario de la estupidez natural.”-
Buenas noches,
Le agradezco, es exactamente lo que buscaba, pero es extraño, no lo encontré en ningún lugar.
Me gustaría saber si sería posible que no me devolviera lo que se encuentra en la variable.
(Me gustaría simplemente que verifique que en la variable hay "random" pero sin escribir en la consola lo que contiene la variable %choix%)
Espero haber sido lo suficientemente claro.- Es posible redirigiendo la salida a nul, como esto:
@echo off
chcp 28591 > nul
:menu
cls
set /p choix="¿Algo que decir? "
echo %choix% | find "0" >nul && goto :0
echo %choix% | find "1" >nul && goto :1
if %choix%==end goto :end
goto :menu
:0
echo Dijiste 0
echo %choix% | find "random" >nul && goto :Random
pause > nul
goto :end
:1
echo Dijiste 1
echo %choix% | find "random" >nul && goto :Random
pause > nul
goto :end
:Random
cls
echo %RANDOM%
pause
:end
echo Es el final
pause
exit
-
-