elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (solucionado) no consigo hacer funcionar un codigo batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (solucionado) no consigo hacer funcionar un codigo batch  (Leído 3,487 veces)
hckcrck

Desconectado Desconectado

Mensajes: 114



Ver Perfil WWW
(solucionado) no consigo hacer funcionar un codigo batch
« en: 15 Junio 2016, 00:23 am »

hola, primero me gustaría recomendar el tutorial que estoy siguiendo, por que me parce muy bien explicado para empezar, con muchos ejemplos y bien escalonado, bien aquí lo dejo
http://todohacker.com/tutoriales/lenguaje-batch
Es de otro foro, pero aquí lo que importa es aprender no?  :silbar:
mi problema es con las variables, es un ejercicio en el que tienes que sumar 2+2  (ese no es mi problema sigue leyendo :P) y si te da la respuesta correcta pues vas al menú "correcto", si no lo es al menú que pongas como "incorrecto", pues no consigo que me mande a la pagina de la respuesta incorrecta, imagino que es un ejercicio que la mayoría habréis hecho, ayudarme, quiero seguir con el tema y esto no me deja...
Código:
@echo off
echo.
set/P saltar= quiere saltar e ir al menu? n/y
echo.
if %saltar%==y goto menu else goto completo
cls
:completo
echo.
echo programa de prueba programacion básica
echo.
pause>null
cls
echo.
echo ===============================
echo  aprendiendo a hacer una pausa
echo ===============================
echo.
echo para continuar pulsa una tecla
pause>null
echo ==============================================
echo con este ejercicio se aprenden a usar las variables
echo ==============================================
echo.
echo pulse una tecla y rellene los datos
pause>null
cls
echo.
set/P nombre= introduzca su nombre
cls
set/P edad= ahora tu edad
cls
echo.
echo=========================================================
echo este programa a sido creado por %nombre% a la edad de %edad% años
echo=========================================================
echo.
echo pulsa una tecla para continuar
pause>null
cls
echo.
echo=======================================================
echo ahora usamos el script para realizar una suma
echo=======================================================
echo.
pause
cls
echo.
set/P numero1= introduce el primer numero de la suma
echo.
echo pulsa enter para continuar
pause>null
cls
echo.
set/P numero2= introduce el segundo numero
echo.
echo pulsa enter
set/a multiplicacion= %numero1% + %numero2%
pause>null
cls
echo.
echo el resultado es %multiplicacion%
echo.
echo pulse cualquier tecla
pause>null
cls

echo.
echo as llegado al menu de el programa %nombre%
echo a partir de ahora puedes decidir a donde quieres ir
pause

cls
:menu
echo.
echo==================
echo MENU DE SELECCION
echo==================
echo __________________
echo 1)haz una suma :)
echo 99)salir
set/P ver=cual eliges?
cls
echo.
if %ver%==1 goto suma else goto menu
if %ver%==99 goto salir else goto menu
cls
:suma
echo.
echo PRUEBA DE LA SUMA,variables 2
echo==============================
echo.
set/P result=cuanto es 2+3?
if %result%==5 goto correcto else goto incorrecto
:correcto
cls
echo.
echo por el culo te la inco!! ;)
pause>null
goto :menu
cls
:incorrecto
echo.
echo noo, estas prestando atencion?!
echo.
pause>null
goto :suma

:salir
echo.
echo el script se cerrará, bye %nombre%
echo.
pause
exit
el código es algo mas largo, pero el problema debe de estar por aquí, si lo necesitáis entero lo modifico y lo pongo completo
MODIFICO: lo pongo completo, así no hay que pedir nada
Antes de que nadie diga nada, ya se que me he comido una c, daña a la vista perdón
Todo va bien ahora que lo he ordenado un poco, menos lo que comento, cuando una respuesta es incorrecta no me manda al menu correcto, las da todas por correctas, estoy utilizando bien "else"?  :huh:
Modifico: voy a poner donde creo que esta el error a ver si sirve de algo  :-\
Código:
if %ver%==1 goto suma else goto menu
if %ver%==99 goto salir else goto menu

Código:
if %result%==5 goto correcto else goto incorrecto
está bien puesto? nadie dice nada...  :(
MODIFICO
Aquí os dejo otro programa que intento hacer, con el mismo problema, agradecería ayuda para avanzar en el tema
Código:
@echo off
color 0a
cls
echo.
echo::::::::::::::::::::::::::::::::
echo juagando con el lenguaje batch
echo::::::::::::::::::::::::::::::::
pause>null
cls
echo.
echo ========================================
echo personalizar programa con su nombre? s\n
echo ========================================
echo.
set/P personalizar=
if %personalizar%==s goto personalizar else goto menuP
:personalizar
echo.
echo introduzca su nombre
echo.
set/P root=
pause>null
color 0a
:menuP
cls
echo.
echo ===============
echo MENU PRINCIPAL
echo ===============
echo %root% seleccione una opcion
echo *****************************
echo 1)volver a editar nombre
echo 2)abrir una terminal (cmd)
echo 99)salir
set/P optionMP=
if %optionMP%==1 goto personalizar
if %optionMP%==2 goto start_cmd
if %optionMP%==99 goto salir
pause>null
:start_cmd
echo .
echo iniciando consola...
start cmd.exe
pause
goto menuP
:salir
cls
echo ____________________$____________________
echo ___________________$$$___________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo ___$$$____________$$$$$___________$$$____
echo ____$$$$$_________$$$$$________$$$$$_____
echo _____$$$$$$$______$$$$$_____$$$$$$$______
echo _______$$$$$$$____$$$$$___$$$$$$$________
echo _$$$$$$$______$$$__$$$__$$$______$$$$$$$_
echo _____$$$$$$$$____$$_$_$$____$$$$$$$$_____
echo _________$$$$$$$$$_$$$_$$$$$$$$$_________
echo ________________$$$_$_$$$________________
echo ____________$$$$$___$___$$$$$____________
echo ___________$________$________$___________
echo ____________________$____________________

echo %root% esta saliendo de el programa...
echo pulse enter para cerrar el script
pause>null
exit

En este caso cuando le doy a no personalizar el programa me pone el menú de personalizar igualmente.  :huh:
SOLUCIONADO!!  ;-) ;-) Ale ya entendí por que es, seguro que no se me olvida nunca  ;D
Ya que he posteado mil cosas mal echas pondré el código bien escrito para que si a alguien le pasa lo mismo vea por que es;
Código:
@echo off
color 0a
cls
echo.
echo::::::::::::::::::::::::::::::::
echo juagando con el lenguaje batch
echo::::::::::::::::::::::::::::::::
pause>null
:personalizarM
cls
echo.
echo ========================================
echo personalizar programa con su nombre? s\n
echo ========================================
echo.
set/P personalizar=
if %personalizar%==s goto personalizar
if %personalizar%==n goto menuP
goto personalizarM
:personalizar
cls
echo.
echo introduzca su nombre
echo.
set/P root=
pause>null
color 0a
:menuP
cls
echo.
echo ===============
echo MENU PRINCIPAL
echo ===============
echo %root% seleccione una opcion
echo *****************************
echo 1)volver a editar nombre
echo 2)abrir una terminal (cmd)
echo 3)crear archivo de texto
echo 99)salir
set/P optionMP=
if %optionMP%==1 goto personalizar
if %optionMP%==2 goto start_cmd
if %optionMP%==3 goto texto
if %optionMP%==99 goto salir
goto menuP
pause>null
:start_cmd
echo .
echo iniciando consola...
start cmd.exe
pause
goto menuP
:texto
echo =========================
echo crear un archivo de texto
echo =========================
echo.
echo pulsa una tecla para crear un archivo de texto
echo este texto se a escrito por el script bat2 > bat2.txt
echo creado por hckcrck >> bat2.txt
pause>null
echo archivo creado, pulse una tecla para continuar
pause>null
:txtM
cls
echo.
echo %root% a creado un archivo, que desea hacer con el?
echo ===================================================
echo 1)abrirlo
echo 2)eliminarlo
echo 3)nada
set/P otxt=
if %otxt%==1 goto optxt
if %otxt%==2 goto elimtxt
if %otxt%==3 goto menuP
goto menuP
:optxt
cls
echo.
echo abriendo archivo...
start bat2.txt
pause>null
goto txtM
:elimtxt
cls
echo.
echo seguro que desea eliminar bat2.txt? s/n
set/P elimtxt=
if %elimtxt%==s goto deltxt
if %elimtxt%==n goto txtM
pause_null
goto txtM
:deltxt
del bat2.txt
echo.
echo archivo eliminado correctamente %root%
echo =============================================
echo pulsa una tecla para volver al menu principal
echo =============================================
pause>null
goto menuP
:salir
cls
echo ____________________$____________________
echo ___________________$$$___________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo ___$$$____________$$$$$___________$$$____
echo ____$$$$$_________$$$$$________$$$$$_____
echo _____$$$$$$$______$$$$$_____$$$$$$$______
echo _______$$$$$$$____$$$$$___$$$$$$$________
echo _$$$$$$$______$$$__$$$__$$$______$$$$$$$_
echo _____$$$$$$$$____$$_$_$$____$$$$$$$$_____
echo _________$$$$$$$$$_$$$_$$$$$$$$$_________
echo ________________$$$_$_$$$________________
echo ____________$$$$$___$___$$$$$____________
echo ___________$________$________$___________
echo ____________________$____________________

echo %root% esta saliendo de el programa...
echo pulse enter para cerrar el script
pause>null
exit
como veis añado goto y el menú donde me encuentro para que si no se marca ninguna opción predefinida, haga un bucle, no se como no se me a ocurrido antes  :P
Citar
if %personalizar%==s goto personalizar
if %personalizar%==n goto menuP
goto personalizarM
Creo que lo voy pillando, para ser el primer día estoy contento, seguramente seguiré dando el coñazo por aquí  ;D




« Última modificación: 15 Junio 2016, 05:27 am por hckcrck » En línea

Para seguir la senda:

*observa al maestro,
sigue al maestro,
camina con el maestro,
ve a través del maestro,
conviértete en el maestro.

https://www.youtube.com/watch?v=08dphYPKLyE
[Arg] $triker;


Desconectado Desconectado

Mensajes: 380


¿Yo, tóxico?


Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #1 en: 15 Junio 2016, 18:12 pm »

Veo que ya solucionaste el tema, estaba publicando una respuesta. Felicitaciones.

Y gracias por el manual, me llegó la hora de desempolvar un poco lo que sé.


En línea

8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--
hckcrck

Desconectado Desconectado

Mensajes: 114



Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #2 en: 15 Junio 2016, 22:07 pm »

Citar
Veo que ya solucionaste el tema, estaba publicando una respuesta. Felicitaciones.
si  ;-) al finar hera muy sencillo, aunque sigo sin poder utilizar "else" el apaño me funciona
Citar
Y gracias por el manual, me llegó la hora de desempolvar un poco lo que sé.

De nada, me alegra poder contribuir en algo  ;) aprovechando el reflote del tema dejaré un bat que he echo con los conocimientos de dicho post, a muchos les parecerá insignificante  :xD pero yo estoy orgulloso de los progresos que consigo, y creo que puede servir como ejemplo a quien quiera aprender.
el bat puede;
1 editar el menu con tu nombre o no, segun se quiera
2 ejecutar una terminal (windows)
3 crear un archivo de texto(prediseñado), abrirlo y borrarlo
4 crear un bat sencillo (prediseñado) ejecutarlo y eliminarlo
5 ejecutar otra ventana con el propio bat
6 salir de forma sencilla (con una imagen de despedida  ;))
Código:
@echo off
color 0a
cls
echo.
echo::::::::::::::::::::::::::::::::
echo juagando con el lenguaje batch
echo::::::::::::::::::::::::::::::::
pause>null
:personalizarM
cls
echo.
echo ========================================
echo personalizar programa con su nombre? s\n
echo ========================================
echo.
set/P personalizar=
if %personalizar%==s goto personalizar
if %personalizar%==n goto menuP
goto personalizarM
:personalizar
cls
echo.
echo introduzca su nombre
echo.
set/P root=
pause>null
color 0a
:menuP
cls
echo.
echo ===============
echo MENU PRINCIPAL
echo ===============
echo %root% seleccione una opcion
echo *****************************
echo 1)volver a editar nombre
echo 2)abrir una terminal (cmd)
echo 3)crear archivo de texto
echo 4) crear bat2injector.bat
echo 5)ejecutar otra instancia bat2
echo 99)salir
set/P optionMP=
if %optionMP%==1 goto personalizar
if %optionMP%==2 goto start_cmd
if %optionMP%==3 goto texto
if %optionMP%==4 goto bat2injectorC
if %optionMP%==5 goto instanew
if %optionMP%==99 goto salir
goto menuP
pause>null
:instanew
echo.
echo ejecutando bat2 en nueva ventana...
start bat2.bat
pause
cls
echo bat2 ejecutado :)
echo =================
pause
goto menuP
:bat2injectorC
cls
echo.
echo =====================
echo bat2injector creator
echo =====================
echo.
echo para crear el bat pulsa una tecla, para volver
echo al menu principal pulse 1
set/p ncrear=
if %ncrear%==1 goto menuP
pause>null
cls
echo.
echo creando bat....
echo @echo off > bat2injector.bat
echo echo vienvenido a bat2injector :) >> bat2injector.bat
echo echo ============================ >> bat2injector.bat
echo echo. >> bat2injector.bat
echo pause >> bat2injector.bat
echo exit >> bat2injector.bat
echo para continuar pulse una tecla
pause>null
:creatorM
echo.
echo Bat creado!!
echo ============
echo que desea hacer con el %root% ?
echo 1)ejecutar bat
echo 2)borrar bat
echo 3)nada
set/p batop=
if %batop%==1 goto batej
if %batop%==2 goto batdel
if %batop%==3 goto menuP
pause>null
goto creatorM
:batej
echo.
echo ejecutando bat2injector...
echo ==========================
start bat2injector.bat
pause>null
cls
echo.
echo ejecutado, pulse una tecla para volver al menu de bat2injector
pause>null
goto creatorM
:batdel
cls
echo.
echo eliminando bat2injector....
echo ===========================
del bat2injector.bat
pause
cls
echo.
echo Eliminado!! pulse una tecla para volver al menu principal
echo =========================================================
pause>null
goto menuP
:start_cmd
echo .
echo iniciando consola...
start cmd.exe
pause
goto menuP
:texto
echo =========================
echo crear un archivo de texto
echo =========================
echo.
echo pulsa una tecla para crear un archivo de texto
echo este texto se a escrito por el script bat2 > bat2.txt
echo creado por hckcrck >> bat2.txt
pause>null
echo archivo creado, pulse una tecla para continuar
pause>null
:txtM
cls
echo.
echo %root% a creado un archivo, que desea hacer con el?
echo ===================================================
echo 1)abrirlo
echo 2)eliminarlo
echo 3)nada
set/P otxt=
if %otxt%==1 goto optxt
if %otxt%==2 goto elimtxt
if %otxt%==3 goto menuP
goto menuP
:optxt
cls
echo.
echo abriendo archivo...
start bat2.txt
pause>null
goto txtM
:elimtxt
cls
echo.
echo seguro que desea eliminar bat2.txt? s/n
set/P elimtxt=
if %elimtxt%==s goto deltxt
if %elimtxt%==n goto txtM
pause_null
goto txtM
:deltxt
del bat2.txt
echo.
echo archivo eliminado correctamente %root%
echo =============================================
echo pulsa una tecla para volver al menu principal
echo =============================================
pause>null
goto menuP
:salir
cls
echo ____________________$____________________
echo ___________________$$$___________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo __________________$$$$$__________________
echo ___$$$____________$$$$$___________$$$____
echo ____$$$$$_________$$$$$________$$$$$_____
echo _____$$$$$$$______$$$$$_____$$$$$$$______
echo _______$$$$$$$____$$$$$___$$$$$$$________
echo _$$$$$$$______$$$__$$$__$$$______$$$$$$$_
echo _____$$$$$$$$____$$_$_$$____$$$$$$$$_____
echo _________$$$$$$$$$_$$$_$$$$$$$$$_________
echo ________________$$$_$_$$$________________
echo ____________$$$$$___$___$$$$$____________
echo ___________$________$________$___________
echo ____________________$____________________

echo %root% esta saliendo de el programa...
pause
exit

En línea

Para seguir la senda:

*observa al maestro,
sigue al maestro,
camina con el maestro,
ve a través del maestro,
conviértete en el maestro.

https://www.youtube.com/watch?v=08dphYPKLyE
[Arg] $triker;


Desconectado Desconectado

Mensajes: 380


¿Yo, tóxico?


Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #3 en: 17 Junio 2016, 00:16 am »

Está muy bien que aprendas batch y que te sientas orgulloso de ello, pero lo que te recomiendo es que no te pongas barreras de las de "no voy a aprender otro lenguaje hasta no practicar éste" porque sino vas a quedar estancado y no te van a dar ganas de aprender más como me pasó a mí.

Un consejo: si todavía estás en la edad de programas con el bloc de notas, te recomiendo Notepad++ para editar.
Y un desafío ya que tenés ganas de experimentar, te reto a hacer un script que consista en una ventana con una pelotita rebotando en una habitación vacía. Yo lo hice y es bastante entretenido.

Suerte con tu vieja. Viaje. :xD :xD :D
En línea

8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--
hckcrck

Desconectado Desconectado

Mensajes: 114



Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #4 en: 17 Junio 2016, 00:26 am »

Citar
te reto a hacer un script que consista en una ventana con una pelotita rebotando en una habitación vacía. Yo lo hice y es bastante entretenido.
Lo intentaré, pero no imagino la forma de hacerlo todavía  :huh:
Citar
no te pongas barreras de las de "no voy a aprender otro lenguaje hasta no practicar éste" porque sino vas a quedar estancado
Lo se tranquilo, estoy empezando con el batch pero quier aprender bash y python  mas adelante (y lo que se ponga   :xD)
Estoy diseñando un bat, esta en fase experimental, pero te puedes hacer una idea de lo que quiero hacer, tengo un problema que no me deja avanzar, lo explico en el post, el bat se llama batchelp y funcionaría como herramienta de aprendizaje, échale un ojo si te pica la curiosidad  ;)
https://foro.elhacker.net/scripting/recomendaciones_para_tutoriales_y_manuales_de_scripting_batch_y_bash_basico-t453956.0.html
En línea

Para seguir la senda:

*observa al maestro,
sigue al maestro,
camina con el maestro,
ve a través del maestro,
conviértete en el maestro.

https://www.youtube.com/watch?v=08dphYPKLyE
[Arg] $triker;


Desconectado Desconectado

Mensajes: 380


¿Yo, tóxico?


Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #5 en: 17 Junio 2016, 03:55 am »

Consejo: No hables sobre otros temas o hilos si no es necesario para el sentido del hilo que estás tratando.
En línea

8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--
hckcrck

Desconectado Desconectado

Mensajes: 114



Ver Perfil WWW
Re: (solucionado) no consigo hacer funcionar un codigo batch
« Respuesta #6 en: 17 Junio 2016, 17:47 pm »

consejo aceptado  ;) lo siento, error de forero novato (y pensar que soy yo el que va por ahí llamando la atención a la gente cuando hace lo que no debe... )
En línea

Para seguir la senda:

*observa al maestro,
sigue al maestro,
camina con el maestro,
ve a través del maestro,
conviértete en el maestro.

https://www.youtube.com/watch?v=08dphYPKLyE
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como hacer funcionar este batch perfectamente? « 1 2 ... 6 7 »
Scripting
SoloAki 60 32,669 Último mensaje 12 Abril 2008, 02:09 am
por SoloAki
[BATCH] problema con código (solucionado) « 1 2 »
Scripting
corax 13 7,444 Último mensaje 10 Noviembre 2009, 15:00 pm
por SuperDraco
no consigo hacer funcionar a shellexecute.
Programación C/C++
black_flowers 1 4,715 Último mensaje 29 Marzo 2011, 13:03 pm
por d(-_-)b
No consigo hacer un prompt en xml
Scripting
lobopk2 6 3,654 Último mensaje 2 Febrero 2022, 12:01 pm
por lobopk2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines