Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Caballero de Hielo en 27 Diciembre 2013, 19:00 pm



Título: Problemas con Comando IF
Publicado por: Caballero de Hielo en 27 Diciembre 2013, 19:00 pm
Estimados, trato de hacer un BAT que ejecute un ping hacia una Ip de impresora, pero dependiendo del nombre que ingresen se debe de realizar un ping a esa impresora.

El detalle es que siempre me ejecuta el PING 118.220.52.123 que es el primero.
este es mi Script



[MOD]: Usa las etiquetas de código.



Código
  1. @echo off
  2.  
  3. :menu
  4. set /p "var=Ingrese el nombre de la Impresora SWIFT:"
  5. If not defined var (goto:menu)
  6.  
  7. :PECOMEXT
  8. PING 118.220.52.123
  9.  
  10. :PEGARANT
  11. PING 118.220.52.124
  12.  
  13. :PEIMPORT
  14. PING 118.220.52.125
  15.  
  16. :PEOPINTE  
  17. PING 118.220.52.126
  18.  
  19. :PETESORI
  20. PING 118.220.52.127
  21.  
  22. :PETRANXT
  23. PING 118.220.52.128
  24.  
  25. :PEVALORE
  26. PING 118.220.52.129
  27. v
  28.  
  29. :PECOMUNIC
  30. PING 118.220.52.130
  31.  
  32. IF "%var%" = "%PECOMEXT%" GOTO:PECOMEXT
  33. IF "%var%" = "%PEGARANT%" GOTO:PEGARANT
  34. IF "%var%" = "%PEIMPORT%" GOTO:PEIMPORT
  35. IF "%var%" = "%PEOPINTE%" GOTO:PEOPINTE
  36. IF "%var%" = "%PETESORI%" GOTO:PETESORI
  37. IF "%var%" = "%PETRANXT%" GOTO:PETRANXT
  38. IF "%var%" = "%PEVALORE%" GOTO:PEVALORE
  39. IF "%var%" = "%PECOMUNIC%" GOTO:PECOMUNIC


Título: Re: Problemas con Comando IF
Publicado por: Eleкtro en 27 Diciembre 2013, 19:45 pm
Esta linea:
Citar
Código
  1. If not defined var (goto:menu)

La reemplazas por esta otra:
Código
  1. If Not Defined VAR (Goto :MENU) ELSE (Goto :%VAR%)

Y eliminas todo esto:
Citar
Código
  1. IF "%var%" = "%PECOMEXT%" GOTO:PECOMEXT
  2. IF "%var%" = "%PEGARANT%" GOTO:PEGARANT
  3. IF "%var%" = "%PEIMPORT%" GOTO:PEIMPORT
  4. IF "%var%" = "%PEOPINTE%" GOTO:PEOPINTE
  5. IF "%var%" = "%PETESORI%" GOTO:PETESORI
  6. IF "%var%" = "%PETRANXT%" GOTO:PETRANXT
  7. IF "%var%" = "%PEVALORE%" GOTO:PEVALORE
  8. IF "%var%" = "%PECOMUNIC%" GOTO:PECOMUNIC

Si quieres simplificar más el código, puedes utilizar Call en lugar de Goto, y elimina todos los Pause/Exit, son innecesarios.

Saludos


Título: Re: Problemas con Comando IF
Publicado por: Caballero de Hielo en 29 Diciembre 2013, 14:44 pm
 ;-)  ;D

Gracias ElektroZoider el BAT quedo con tu consejo, solo lo tengo que mejorar para que valide las 6 impresoras y que te de oportunidad de ingresar de nuevo el dato si te equivocaste, si fallo en mis intentos posteo nuevamente mi Script para que algún alma caritativa lo valide y me indique mis errores u omisiones.

Ya me percate del boton: insertar codigo en adelante lo usare, las disculpas del caso.