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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Error con batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error con batch  (Leído 2,427 veces)
Danydarko

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Error con batch
« en: 8 Febrero 2018, 20:25 pm »

Hola a todos,

He mirado en el foro pero no he encontrado nada que me saque de dudas. Tengo un problema a la hora de hacer un archivo batch, necesito crear un fichero por lotes que 1.- editar: abre el editor de texto (bloc de notas-notepad.exe) 2.- información del sistema: nos da la información del sistema operativo y de la memoria. Así mismo, nos debe avisar en cada caso de la opción que hemos elegido. Seguro que para algunos de vosotros esto es facilísimo, pero yo estoy empezando y me está costando bastante.

He hecho lo siguiente:

@echo off
: menu
echo xxxxxxxxxxxxxxxxxxxxxx
echo selecciona una opcion
echo xxxxxxxxxxxxxxxxxxxxxx
echo 1. Abrir editor de texto
echo 2. Muestra informacion del sistema
set /p ver= Elija una opcion
if %ver%==1 goto et
if %ver&==2 goto is
:et
echo editor de texto
start notepad.exe
goto menu
:is
echo tu sistema operativo y tu memoria es
ver
goto fin
:fin

Pero al seleccionar el 2, me da el siguiente error:

No se esperaba & en este momento.

¿Que puede estar mal? estoy usando Windows 10, por si sirve de ayuda

Gracias!


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.817



Ver Perfil
Re: Error con batch
« Respuesta #1 en: 8 Febrero 2018, 21:41 pm »

Pero al seleccionar el 2, me da el siguiente error:

No se esperaba & en este momento.

¿Que puede estar mal?

Bueno, el motivo de ese error de sintaxis es obvio:
Citar
if %ver&==2 goto is

ahí cometiste un pequeño fallo al escribir el símbolo de la variable.



Por cierto, en esta parte del código:

Citar
Código
  1. set /p ver= Elija una opcion
  2. if %ver%==1 goto et
  3. if %ver&==2 goto is
  4.  
  5. :et
  6. ...

...¿has pensado que ocurriría si el usuario escribe cualquier otra cosa que no sea "1" ni "2"?, tal y como tienes ahora mismo ese código, cualquier texto introducido que no sea "2", practicamente se evaluaría como si el usuario hubiese elegido la opción "1", puesto que la ejecución del código seguiría en la etiqueta :et

En lugar se usar Set /P, deberías usar el comando CHOICE para elaborar ese tipo de selección de opciones de forma estable y sofisticada.

Saludos


« Última modificación: 8 Febrero 2018, 21:49 pm por Eleкtro » En línea

Danydarko

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Error con batch
« Respuesta #2 en: 9 Febrero 2018, 09:34 am »

Madre mía, gracias Elektro!

Ayer tenía la cabeza ya quemada y mira que revisé las líneas muchas veces.

Voy a ver si aplico lo de choice.

Gracias por el consejo!
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.817



Ver Perfil
Re: Error con batch
« Respuesta #3 en: 9 Febrero 2018, 16:08 pm »

Voy a ver si aplico lo de choice.

Por si no lo consigues, aquí te muestro como podría ser la adaptación en tu código:

Código
  1. @Echo OFF & (CHCP 1252)1>NUL
  2.  
  3. :MENU
  4. CLS
  5. Echo:xXxXxXxXxXxXxXxXxXxXx
  6. Echo:Seleccione una opción
  7. Echo:xXxXxXxXxXxXxXxXxXxXx
  8. Echo:[1] Abrir editor de texto
  9. Echo:[2] Mostrar información del sistema
  10. Echo:[3] Salir
  11.  
  12. Choice.exe /C "123" /M "Elija una opción:"
  13. IF %ErrorLevel% EQU 1 (Call :NOTEPAD)
  14. IF %ErrorLevel% EQU 2 (Call :SYSINFO)
  15. IF %ErrorLevel% EQU 3 (Exit /B 0)
  16. GoTo :MENU
  17.  
  18. :NOTEPAD
  19. Echo:Iniciando editor de texto...
  20. "notepad.exe"
  21. GoTo :EOF
  22.  
  23. :SYSINFO
  24. Echo:Obteniendo información del sistema...
  25. REM "ver.exe"
  26. "systeminfo.exe"
  27. GoTo :EOF

saludos
« Última modificación: 9 Febrero 2018, 16:12 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[BATCH] Cual es mi error???
Scripting
Falso Positivo 2 3,129 Último mensaje 6 Febrero 2006, 05:43 am
por grx0
error con IF - BATCH
Scripting
<[(x)]> 5 5,675 Último mensaje 27 Enero 2009, 05:56 am
por <[(x)]>
[batch] Error con For y Do
Scripting
Sk9ITk5Z 6 3,508 Último mensaje 5 Marzo 2009, 18:04 pm
por Sk9ITk5Z
Error reply [batch]
Scripting
0x0309 1 2,659 Último mensaje 30 Septiembre 2009, 22:32 pm
por xassiz_
¿Cual es el error que estoy cometiendo en este comando de batch? [BATCH]
Scripting
TheFerret 3 3,034 Último mensaje 14 Enero 2015, 21:27 pm
por TheFerret
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines