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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  "no se esperaba en este momento"(BATCH)
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: "no se esperaba en este momento"(BATCH)  (Leído 16,624 veces)
elpeluca

Desconectado Desconectado

Mensajes: 6


Ver Perfil
"no se esperaba en este momento"(BATCH)
« en: 16 Septiembre 2012, 03:52 am »

Muy buenas, tengo un problema con el comando IF dentro de un FOR.
La cosa es que tengo un batch con este código:
Código
  1. @echo off
  2. color 0a
  3. echo Generar lista de multiplos de 3 y 5 hasta el numero (que no sea mayor de 1000):
  4. set /p cantidad=
  5. for /l %%c in (0,1,%cantidad%) do set /a mul3=3*%%c && set /a mul5=5*%%c && if %mul3%==%mul5% (echo %mul3%) else (echo %mul3% && echo %mul5%)
  6.  
El problema viene cuando lo ejecuto, que después de ingresar el valor de la variable %cantidad% me aparece un mensaje de error y se me cierra rápidamente el programa. He conseguido leer lo que pone: "No se esperaba ) en este momento".
Desde entonces he probado cambiar los paréntesis por corchetes, incluir esa parte del código en dos IF, incluso quitar los paréntesis, y lo peor es que si quito los paréntesis, muestra el mensaje: "No se esperaba ELSE en este momento", y si lo cambio por dos IF sin paréntesis me sale: "No se esperaba && en este momento".
Ya busqué por google pero no encontré nada que me sirviera, así que si me podríais ayudar por favor os estaré muy agradecido.

Y disculpen meter otra pregunta, pero ya que estoy quisiera preguntar por otro error. Se trata de que en un batch (que ya lo borré) en un comando FOR, cuando ponía un ECHO en cualquier momento después del primer &&, en lugar de mostrar el mensaje que debía mostraba: "ECHO esta desactivado".
Bueno espero que podáis ayudarme con estos problemas, y muchas gracias de antemano :)


« Última modificación: 16 Septiembre 2012, 03:59 am por elpeluca » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: "no se esperaba en este momento"(BATCH)
« Respuesta #1 en: 16 Septiembre 2012, 05:44 am »

Usa correctamente la sintaxis de Batch.

Citar
for /l %%c in (0,1,%cantidad%) do (set /a mul3=3*%%c && set /a mul5=5*%%c && if %mul3%==%mul5% (echo %mul3%) else (echo %mul3% && echo %mul5%) )

Aparte:
- La comprobación no tiene sentido hacerla
- Necesitas expandir las variables para mostrarlas dentro de un for... o usar Call para mostrarlas.
- Al arreglar la sintaxis y los otros fallos tu code muestra los números de una forma muy desorganizada y poco agradable...

EDITO: Si tienes más dudas sobre Batch debes formular tus posts en la sección correcta... Foro de elhacker.net » Programación » Scripting

A ver que te parece así:

Código
  1. @echo off
  2. Rem elhacker.net
  3. Setlocal enabledelayedexpansion
  4.  
  5. :Menu
  6. Echo Generar lista de multiplos de 3 y 5 hasta el numero (que no sea mayor de 1000):
  7. Echo (Cantidad maxima: 335) | MORE
  8. set /P "X=Cantidad >> "
  9. If "%X%" GEQ "335" (SET "Cantidad=" & Goto :Menu)
  10.  
  11. :Generador
  12. for /L %%X in (1,1,%X%) do (
  13. SET /A "x3=3*%%X", "x5=5*%%X" && (
  14. Echo " !x3! " | Findstr "\<1[0-9][0-9][0-9]\>" >NUL || (Set "Multi3=!Multi3!!x3!, ")
  15. Echo " !x5! " | Findstr "\<1[0-9][0-9][0-9]\>" >NUL || (Set "Multi5=!Multi5!!x5!, ")
  16. )
  17. )
  18.  
  19. :Resultados
  20. Echo Multiplos (3): & Echo:%Multi3% | MORE
  21. Echo Multiplos (5): & Echo:%Multi5% | MORE



Saludos.


« Última modificación: 16 Septiembre 2012, 05:51 am por EleKtro H@cker » En línea



elpeluca

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: "no se esperaba en este momento"(BATCH)
« Respuesta #2 en: 17 Septiembre 2012, 18:02 pm »

Si tienes más dudas sobre Batch debes formular tus posts en la sección correcta... Foro de elhacker.net » Programación » Scripting
Ok lo siento pensaba que estaba bien ponerlo aqui.

En cuanto a las correcciones, la primera no me funcionó pero sí la segunda (aunque hay unas cosas que aparecen en ese script que no las entiendo).
Y en fin me ayudaste bastante ;D.
Gracias y saludos!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 17,284 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
[BATCH] Ayuda con este script sobre "if exist" y "takeown" (SOLUCIONADO)
Scripting
SuperDraco 4 12,437 Ú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 20,031 Último mensaje 23 Abril 2012, 22:31 pm
por Eleкtro
(Batch) Error "No se esperaba GOTO en este momento"
Scripting
Anastacio 3 7,768 Último mensaje 1 Julio 2014, 04:39 am
por Eleкtro
No se esperaba en este momento. Error [Batch]
Scripting
Fron99 3 4,422 Último mensaje 3 Abril 2017, 12:13 pm
por Fron99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines