Test Foro de elhacker.net SMF 2.1

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 (dos) [Seleccionar]
@echo off

:menu
set /p "var=Ingrese el nombre de la Impresora SWIFT:"
If not defined var (goto:menu)

:PECOMEXT
PING 118.220.52.123
pause
exit

:PEGARANT
PING 118.220.52.124
pause
exit

:PEIMPORT
PING 118.220.52.125
pause
exit

:PEOPINTE  
PING 118.220.52.126
pause
exit

:PETESORI
PING 118.220.52.127
pause
exit

:PETRANXT
PING 118.220.52.128
pause
exit

:PEVALORE
PING 118.220.52.129
pause
v

:PECOMUNIC
PING 118.220.52.130
pause
exit

IF "%var%" = "%PECOMEXT%" GOTO:PECOMEXT
IF "%var%" = "%PEGARANT%" GOTO:PEGARANT
IF "%var%" = "%PEIMPORT%" GOTO:PEIMPORT
IF "%var%" = "%PEOPINTE%" GOTO:PEOPINTE
IF "%var%" = "%PETESORI%" GOTO:PETESORI
IF "%var%" = "%PETRANXT%" GOTO:PETRANXT
IF "%var%" = "%PEVALORE%" GOTO:PEVALORE
IF "%var%" = "%PECOMUNIC%" GOTO:PECOMUNIC
exit

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

La reemplazas por esta otra:
Código (dos) [Seleccionar]
If Not Defined VAR (Goto :MENU) ELSE (Goto :%VAR%)

Y eliminas todo esto:
Citar
Código (dos) [Seleccionar]
IF "%var%" = "%PECOMEXT%" GOTO:PECOMEXT
IF "%var%" = "%PEGARANT%" GOTO:PEGARANT
IF "%var%" = "%PEIMPORT%" GOTO:PEIMPORT
IF "%var%" = "%PEOPINTE%" GOTO:PEOPINTE
IF "%var%" = "%PETESORI%" GOTO:PETESORI
IF "%var%" = "%PETRANXT%" GOTO:PETRANXT
IF "%var%" = "%PEVALORE%" GOTO:PEVALORE
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.