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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Batch) Error "No se esperaba GOTO en este momento"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Batch) Error "No se esperaba GOTO en este momento"  (Leído 7,747 veces)
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
(Batch) Error "No se esperaba GOTO en este momento"
« en: 30 Junio 2014, 21:59 pm »

Hola a todos.

Estoy retomando la programacion en Batch desde la base, (la deje hace bastante tiempo), y seguramente estoy cometiendo un error elemental, ya que obtengo constantemente el Error No se esperaba Goto en este momento.

Dejo el codigo.

Código:
@echo off

echo What will you do today?
echo 1.Weather
set /p var1 = Choose

if %var1% == 1 goto one


:one
echo You have chosen 1
pause > nul

goto end:

:end
pause > nul


Gracias de antemano... Por cierto, busque bastante en Google, y me parece que es culpa de la declaracion de la variable var1... pero no estoy seguro.


En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: (Batch) Error "No se esperaba GOTO en este momento"
« Respuesta #1 en: 30 Junio 2014, 22:20 pm »

Por un lado la variable está mal como tu dices, estás dejando espacios entre el símbolo "=" cosa que en Batch..., y por otro lado también está mal la isntrucción del goto end:, que el simbolo se debe poner al principio.

Código
  1. set /p "var1=string"

Código
  1. goto :end

De todas formas te sugiero que lo hagas así:

Código
  1. @echo off
  2.  
  3. Echo What will you do today?
  4. Echo 1.Weather
  5.  
  6. Choice /C "12" /M "What will you do today?"
  7.  
  8. Call :%ErrorLevel%
  9. Goto :end
  10.  
  11. :1
  12. echo You have chosen 1
  13. Goto:EOF
  14.  
  15. :2
  16. echo You have chosen 2
  17.  
  18. :End

Saludos


« Última modificación: 1 Julio 2014, 04:22 am por Eleкtro » En línea



Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: (Batch) Error "No se esperaba GOTO en este momento"
« Respuesta #2 en: 1 Julio 2014, 03:59 am »

Elektro, muchas gracias por tu ayuda... es cierto, era solo eso :-)

Por cierto, intente usar tu codigo, y no me reconoce a Choice como funcion. Ademas, dice que la llamada a %errorlevel% desde call es inexistente, y la llama "9009". He leido sobre Choice y sobre Call. Entiendo lo de choice, permite al usuario elegir entre ciertos valores, en este caso 12, es decir 1 y 2.

http://en.wikipedia.org/wiki/Choice_(command)

Por lo que aqui muestra en un ejemplo, Choice deberia llevar "@" al principio, y un ":" antes de los valores a elegir. Aun asi, probe con esos cambios, y nada, sigue diciendo  lo mismo.

Pero, si fuese un problema de sintaxis de la funcion me daria otro mensaje de error. En este caso, no reconoce la funcion, es como si colocase una funcion no existente en DOS...

Muchas gracias de antemano :-)

En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: (Batch) Error "No se esperaba GOTO en este momento"
« Respuesta #3 en: 1 Julio 2014, 04:39 am »

Hola

1. Anda que buscar documentación de Batch en la wikipedia..., puedes acceder a la ayuda de cualquier comando, escribiendo el parámetro de ayuda:
Código:
Choice.exe /?

2. El símbolo de la arroba (@) está relacionado al "echo" del comando (es innecesario), nada tiene que ver, y lo de los dos puntos ( : ) simplemente es otra forma aceptable de sintaxis.


El error te indica que no se encuentra el comando (el archivo c:\windows\system32\choice.exe), es decir, que no existe en tu equipo, ahora, ¿porque motivo?, por estar usando un windows modificado con componentes capados, por tener "rota" la configuración de la variable de entorno PATH, o vete a saber, comprueba manualmente si tienes dicho archivo en "...\system32\" y si no lo tienes pues nada, a usar "Set /P" :P .

Nota: La sintaxis de uso del comando CHOICE difiere un poco de WinXP a Windows 7/8.

Saludos
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[BATCH] Ayuda con este script sobre "if exist" y "takeown" (SOLUCIONADO)
Scripting
SuperDraco 4 12,401 Último mensaje 30 Noviembre 2009, 21:05 pm
por Angel Doze
Problema no se esperaba XXX en este momento [Batch] « 1 2 »
Scripting
ELVJop 12 19,984 Último mensaje 23 Abril 2012, 22:31 pm
por Eleкtro
"no se esperaba en este momento"(BATCH)
Scripting
elpeluca 2 16,551 Último mensaje 17 Septiembre 2012, 18:02 pm
por elpeluca
Me dice (No se esperaba goto en este momento)(Solucionado)
Scripting
David8choceros8chounos 5 4,023 Último mensaje 2 Marzo 2017, 18:29 pm
por David8choceros8chounos
No se esperaba en este momento. Error [Batch]
Scripting
Fron99 3 4,393 Último mensaje 3 Abril 2017, 12:13 pm
por Fron99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines