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.
@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
Esta linea:
CitarIf not defined var (goto:menu)
La reemplazas por esta otra:
If Not Defined VAR (Goto :MENU) ELSE (Goto :%VAR%)
Y eliminas todo esto:
CitarIF "%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
;-) ;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.