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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda en Bat (No se Esperaba =)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en Bat (No se Esperaba =)  (Leído 3,318 veces)
Scoin

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Duda en Bat (No se Esperaba =)
« en: 4 Abril 2015, 18:15 pm »

- Buenas he estado practicando un poco de bat y me ha surgido un error a intentar de ejecutar un script que estoy haciendo a modo de prueba en algunas maquinas me funciona pero en otras me da el siguiente mensaje: "No se esperaba = en este momento", alguien podria explicarme a que se debe esto? mi codigo es el siguiente.

Código
  1. @Echo OFF & Title Rename ComputerName
  2. color 0a
  3.  
  4.  Rem Edición 0.1 conexion zuata buzon, bieloven, internet
  5.  
  6. for /F "tokens=2 delims=:" %%i in ('"ipconfig | findstr IP | findstr 19"') do SET LOCAL_IP=%%i
  7.  
  8.    Call Set "IP4=%%LOCAL_IP:.=%%"
  9.    Call Set "IP4=%%IP4:~0,3%%"
  10.  
  11.    if %IP4% EQU 19 (Echo Su Conexion Esta Estable.
  12.      ) else ( ipconfig
  13.     ipconfig /release
  14.     ipconfig /renew)
  15.  
  16. pause>nul
  17.  
  18.  


« Última modificación: 4 Abril 2015, 18:19 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Duda en Bat (No se Esperaba =)
« Respuesta #1 en: 4 Abril 2015, 18:30 pm »

alguien podria explicarme a que se debe esto?

Es un error de sintaxis en tiempo de ejecución y lo está provocando alguno de los "SET" (ya que son los únicos comandos donde utilizas el caracter "=") en circunstancias desconocidas del código que has mostrado.

Trata de comprobar el valor asignado a la variable "LOCAL_IP" en los equipos que den error, antes de modificarla.

Modifica un poco el código de esta manera, y realiza los checkeos adicionales que creas convenientes:
Código
  1. @Echo OFF & Title Rename ComputerName
  2. color 0a
  3.  
  4. Rem Edición 0.1 conexion zuata buzon, bieloven, internet
  5.  
  6. For /F "Tokens=2 Delims=:" %%# in (
  7. 'IPconfig.exe ^| find.exe "IP" ^| find.exe "19"'
  8. ) Do (
  9. Set "LOCAL_IP=%%#"
  10. )
  11.  
  12. If "%LOCAL_IP%" NEQ "" (
  13. Call Set "IP4=%%LOCAL_IP:.=%%"
  14. Call Set "IP4=%%IP4:~0,3%%"
  15. ) Else (
  16. Echo Error IP: "%LOCAL_IP%"
  17. )
  18.  
  19. If "%IP4%" EQU "19" (
  20. Echo Su conexion esta estable.
  21. ) Else (
  22. ipconfig
  23. ipconfig /release
  24. ipconfig /renew
  25. )
  26.  
  27. Pause&Exit

Saludos.


« Última modificación: 4 Abril 2015, 18:31 pm por Eleкtro » En línea



Scoin

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Duda en Bat (No se Esperaba =)
« Respuesta #2 en: 4 Abril 2015, 18:48 pm »

- Buenas Eleкtro gracias por tu pronta respuesta, no los probe en todas las Pc que me dio el error pero en 2 que si daba el error funciono bien, sin embargo creo que los IF no los esta ejecutando bien porque a pesar de tener una IP con un segmento 192.XXX igual se ejecuta el Ipconfig / release y renew cosa que solo deberia pasar si el segmento de ip es distinto 192. Probare en otras pc y te comento.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Duda en Bat (No se Esperaba =)
« Respuesta #3 en: 4 Abril 2015, 20:25 pm »

Me acabo de dar cuenta que en el código que mostraste no cierras el bloque del FOR, no se tuviste ese fallo al copiar el código aquí lo estabas utilizando así, pero igualmente no me percaté de eso y yo tampoco cerré el bloque del FOR por ese motivo.

Prueba esta modificación, no la he testeado, no se exactamente si le estoy dando el procesamiento que le pretendes dar a la ip, te dejé escritos unos comentarios en el código:

Código
  1. @Echo OFF & Title Rename ComputerName
  2. color 0a
  3.  
  4. Rem Edición 0.1 conexion zuata buzon, bieloven, internet
  5.  
  6. For /F "Tokens=2 Delims=:" %%# in (
  7. 'IPconfig.exe ^| find.exe "IP" ^| find.exe "19"'
  8. ) Do (
  9.  
  10. If "%%#" EQU "" (
  11. Echo No se ha encontrado la IP.
  12. ) Else (
  13. Set "ip=%%#"
  14. Call Set "ip=%%ip: =%%"
  15. Call Set "ip=%%ip:.=%%"
  16. Call Set "ip=%%ip:~0,3%%"
  17. )
  18.  
  19. REM Si el segmento comienza por "19"...
  20.    (Call Echo "%%ip%%" | Findstr.exe "^19")1>NUL && (
  21.     Echo Su conexion esta estable.
  22.    ) || (
  23.    REM Si la ip no comienza por "19"...
  24. ipconfig.exe
  25. ipconfig.exe /release
  26. ipconfig.exe /renew
  27.    )
  28. )
  29.  
  30. Pause&Exit

Saludos
En línea



Scoin

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Duda en Bat (No se Esperaba =)
« Respuesta #4 en: 4 Abril 2015, 23:08 pm »

- Buenas Elektro la verdad no se que puede estar pasando, te cuento primero aclaro que todas las pc tienen como SO Windows 7 de 64bit Professional por si eso llegase a influir. Como te comente antes aun persiste lo de la comprobacion de si igual el segmento a 19 y eso que me di cuenta que al hacer Call Set "ip=%%ip:~0,3%%" se extraia 192 y no solo 19 asi que lo cambie por Call Set "ip=%%ip:~0,2%%" asi si me da el 19 pero igual se ejecuta el ipconfig /release y renew cosa que no deberia suceder y ahora en la mayoria de las pc que su segmento es distinto a los de 19 no se ejecuta nada solo sale en panta presione una tecla para continuar. Eso sucede con el 75% de las Pc use tu codigo tal cual y me pasa lo que ya comente entonces cambie unas pequeñas cosas pero igual nada a la final tanto el tuyo como el que modifique basado en el tuyo no me funciono y me quedo asi el codigo.

Código
  1. @Echo OFF & Title Rename ComputerName
  2.    color 0a
  3.  
  4. Rem Edición 0.1 conexion zuata buzon, bieloven, internet
  5.  
  6.  For /F "Tokens=2 Delims=:" %%# in (
  7.    'IPconfig.exe ^| find.exe "IP" ^| find.exe "19"'
  8.    ) Do (
  9.  
  10.    If "%%#" EQU "" (
  11.    Echo No se ha encontrado la IP.
  12.    ) Else (
  13.    Set "ip=%%#"
  14.    Call Set "ip=%%ip: =%%"
  15.    Call Set "ip=%%ip:.=%%"
  16.    Call Set "ip=%%ip:~0,2%%"
  17.    )
  18.  
  19.    REM Si el segmento comienza por "19"...
  20.  
  21.    If "%ip%" EQU "19" (
  22.    Echo Su conexion esta estable.
  23.  
  24.    ) Else (
  25.        ipconfig.exe /release
  26.        ipconfig.exe /renew  
  27.    )
  28.  )
  29. Pause&Exit
  30.  

- Y bueno ahora como que es pero porque como te dije en la gran mayoria solo me dice presione una tecla para continuar mas nada no se muestra ni se ejecuta nada solo dice eso.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error de compilación: Se esperaba una función o una variable
Programación Visual Basic
johndoe90 2 3,664 Último mensaje 4 Mayo 2009, 12:49 pm
por johndoe90
AYUDA!! POCOS PARAMETROS SE ESPERABA 1...
Programación Visual Basic
JoseCheO 0 2,622 Último mensaje 20 Diciembre 2011, 16:25 pm
por JoseCheO
Problema no se esperaba XXX en este momento [Batch] « 1 2 »
Scripting
ELVJop 12 20,044 Último mensaje 23 Abril 2012, 22:31 pm
por Eleкtro
No se esperaba 0 en este momento
Scripting
amok 0 1,980 Último mensaje 12 Noviembre 2016, 20:39 pm
por amok
He probado el LG V30: la sorpresa que nadie esperaba entre los mejores del año
Noticias
wolfbcn 0 1,198 Último mensaje 29 Noviembre 2017, 01:27 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines