Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Scripting
»
Batch / Bash
»
Duda sobre batch
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Duda sobre batch (Leído 3312 veces)
Creeper
{ L3 } Über
Mensajes: 158
Duda sobre batch
«
en:
Marzo 12, 2013, 08:19:28 pm »
Hola a todos. Antes de exponer mi duda me gustaría que me dijerais si es recomendable aprender batch antes de programar en serio con un lenguaje como por ejemplo visual basic.
Lo pregunto porque me quiero iniciar en el mundo de la programación pero leyendo tutoriales sobre python u otros no entendía nada. Pero ahora llevando un par meses que llevo en batch si voy comprendiendo mejor otras cosas que antes no lo hacía.
Bueno al lío. Tengo un script simple que no se porque no funciona:
Spoiler
@echo off
:volv
set/p var1=Como te llamas?
if %var1%==juan (goto juan) else goto error
if %var1%==pepe (goto pepe) else goto error
if %var1%==jose (goto jose) else goto error
if %var1%==miguel (goto miguel) else goto error
if %var1%==sergio (goto sergio) else goto error
:error
echo El nombre introducido es incorrecto. Por favor, intentelo de nuevo.
pause
cls
goto volv
:juan
echo Tu nombre es %var1%. Juan.
pause>nul
exit
:pepe
echo Tu nombre es %var1%. Pepe.
pause>nul
exit
:jose
echo Tu nombre es %var1%. Jose.
pause>nul
exit
:miguel
echo Tu nombre es %var1%. Miguel.
pause>nul
exit
:sergio
echo Tu nombre es %var1%. Sergio.
pause>nul
exit
Es un simple script de prueba. Lo que yo entiendo es esto:
if %var1%==pepe (goto pepe) else goto error
si la variable 1 es pepe ir a :pepe si no ir a :error
Algo fácil, muy fácil. Pero no me funciona el script. Solo se ejecuta bien si pongo el primer nombre (Juan).
Si pongo por ejemplo sergio, o cualquier otro, en vez de mandarme al goto adecuado me manda al goto :error
Que hago mal?
En línea
Creeper
{ L3 } Über
Mensajes: 158
Re:Duda sobre batch
«
Respuesta #1 en:
Marzo 12, 2013, 08:40:31 pm »
Duda solucionada. Borre los goto :error considerando que al poner una variable no correspondida iria a dicho goto al intentar continuar y se arreglo.
En línea
Morbo
{ L0 } Ñuub
Mensajes: 24
--I Believe I Can Fly--
Re:Duda sobre batch
«
Respuesta #2 en:
Marzo 12, 2013, 09:21:16 pm »
Asi ya funciona tu codigo:
Spoiler
@echo off
:volv
set/p var1=Como te llamas?
if %var1%==juan (goto juan)
if %var1%==pepe (goto pepe)
if %var1%==jose (goto jose)
if %var1%==miguel (goto miguel)
if %var1%==sergio (goto sergio) else goto error
:error
echo El nombre introducido es incorrecto. Por favor, intentelo de nuevo.
pause
cls
goto volv
:juan
echo Tu nombre es %var1%. Juan.
pause>nul
exit
:pepe
echo Tu nombre es %var1%. Pepe.
pause>nul
exit
:jose
echo Tu nombre es %var1%. Jose.
pause>nul
exit
:miguel
echo Tu nombre es %var1%. Miguel.
pause>nul
exit
:sergio
echo Tu nombre es %var1%. Sergio.
pause>nul
exit
tenias un error demasiado sencillo de ver, tu tenias:
if %var1%==juan (goto juan) else goto error
como primer comparador, asi que escribieras lo que escribieras siempre se iba a evaluar en esa primera instruccion de desicion, poreso si ponias miguel u otra cosa te salia que el nombre no era valido, asi que los quite y los deje al final eso de goto error.
espero haber resuelto tu duda, SALUDOS!
En línea
coco
{ L7 } Juanker
Mensajes: 1125
la informacion es libre
Re:Duda sobre batch
«
Respuesta #3 en:
Marzo 13, 2013, 02:16:35 pm »
Bueno duda solucionada, tema serrado un gusto ver que tu tema fue solucionado saludos.
En línea
Duérmete niño, duérmete ya…
Que viene el Coco y te comerá.
https://www.youtube.com/user/matrixHXC/videos
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Scripting
»
Batch / Bash
»
Duda sobre batch
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more