Código:
@echo off
Netsh interface ipv6 show interface "Ethernet" > nul 2>&1
if errorlevel==0 (
Show mensaje_A
) else (
Show mensaje_B
)
Última edición:
@echo off
Netsh interface ipv6 show interface "Ethernet" > nul 2>&1
if errorlevel==0 (
Show mensaje_A
) else (
Show mensaje_B
)
Muchachos esta es una pregunta de un examen de un muchacho campesino que le estoy colaborando con plantear la reclamacion.
Nota previa: Puede haber errores en la sintaxis exacta, porque no se tiene acceso al script (Por eso es que no tengo como ejecutarlo para poder hacer pruebas) , pero el abordaje es sobre la logica del asunto y la funcionaildad de Netsh.
El script era algo como :
Código:@echo off Netsh interface ipv6 show interface "Ethernet" > nul 2>&1 if errorlevel==0 ( Show mensaje_A ) else ( Show mensaje_B )
Cual de estas 2 opciones va a pasar al ejecutar ? :
1. Mostrara el Mensaje_A cuando IPV4 e IPV6 estan habilitados
2. Mostrara el Mensaje_A si solo tiene habilitado IPV4
Muchas gracias
Pues sin saber exactamente como es el script complicado el tema de la respuesta, como comentaron arriba así tal como está el script siempre va a mostrar el mensaje A, porque el comando como tal devuelve es un texto mostrando la información ipv6 del adaptador y si no existe también es un mensaje, nunca va a sacar error.Muchachos esta es una pregunta de un examen de un muchacho campesino que le estoy colaborando con plantear la reclamacion.
Nota previa: Puede haber errores en la sintaxis exacta, porque no se tiene acceso al script (Por eso es que no tengo como ejecutarlo para poder hacer pruebas) , pero el abordaje es sobre la logica del asunto y la funcionaildad de Netsh.
El script era algo como :
Código:@echo off Netsh interface ipv6 show interface "Ethernet" > nul 2>&1 if errorlevel==0 ( Show mensaje_A ) else ( Show mensaje_B )
Cual de estas 2 opciones va a pasar al ejecutar ? :
1. Mostrara el Mensaje_A cuando IPV4 e IPV6 estan habilitados
2. Mostrara el Mensaje_A si solo tiene habilitado IPV4
Muchas gracias
@Uranium @josd@
Asumiendo que errorlevel representa si hay error o no en el comando ejecutado, pues entonces siempre sera mensaje A
La estructura logica del script si es seguro que es asi (El comando Netsh ese si esta literal como es) , en lo que si puede haber error es alguna comillas faltantes o que algo empieza en mayuscula o algo asi en la sintaxis.Pues sin saber exactamente como es el script complicado el tema de la respuesta, como comentaron arriba así tal como está el script siempre va a mostrar el mensaje A, porque el comando como tal devuelve es un texto mostrando la información ipv6 del adaptador y si no existe también es un mensaje, nunca va a sacar error.
Adicional de las opciones de respuesta no tienen sentido.
Aquí hay una respuesta que de pronto puede ayudar a aclarar las dudas del errorlevelWhat is the command to check if a command's results mention OK?
Alright, so I was playing around with changing MTU size and wanted to make a batch file to automatically lower it and then raise it later. This is probably simple, but I just can't figure it out. P...superuser.com
Aqui entiendo (No se si bien ) que una persona dice que el errorlevel 0 es cuando no hay error en el comando , pero otro le responde que en Netsh asi haya error en la sintaxis del comando , va a retornar 0 .
Tonces ? cual es ?
La estructura logica del script si es seguro que es asi (El comando Netsh ese si esta literal como es) , en lo que si puede haber error es alguna comillas faltantes o que algo empieza en mayuscula o algo asi en la sintaxis.
Si de hecho , demostrar que esas opciones de respuesta no dan respuesta a la pregunta , tambien sirve , porque anula la pregunta.
Ta bueno, aunque lastimosamente no listan que significa el errorlevel 0 en Netsh que creo que es donde estaria el meollo del asunto.Aquí hay una respuesta que de pronto puede ayudar a aclarar las dudas del errorlevel
What are the ERRORLEVEL values set by internal cmd.exe commands?
The ERRORLEVEL is a value returned by most cmd.exe commands when they end that change depending on a series of conditions, so knowing the value that the commands return is valuable information that...stackoverflow.com
Exacto no tiene sentido para nada, porque como tal muestra es información del IPV6 del adaptador de red, sin importar si lo tiene o no. Mas no se está validando que tenga habilitado el IPV6 en el adaptador.Ta bueno, aunque lastimosamente no listan que significa el errorlevel 0 en Netsh que creo que es donde estaria el meollo del asunto.
Para mi la presunta respuesta correcta que es: "Mostrara el Mensaje_A cuando IPV4 e IPV6 estan habilitados" , no tiene sentido porque: "Netsh interface ipv6 show interface "Ethernet" > nul 2>&1" tengo entendido que no verifica si IPV4 e IPV6 estan habilitados
Momentoooo!!! aqui acabo de probar desahibitando el IPV6 del adaptardor y luego corriendo :Exacto no tiene sentido para nada, porque como tal muestra es información del IPV6 del adaptador de red, sin importar si lo tiene o no. Mas no se está validando que tenga habilitado el IPV6 en el adaptador.
Ver el archivos adjunto 579900
@echo off
Netsh interface ipv6 show interface "Ethernet" > nul 2>&1
if errorlevel 1 (
Show mensaje_B
) else (
Show mensaje_A
)
Xtreme me enrede , en que parte estas hablando vos y en que parte ese engendro ? Podrias poner porfa citado la parte en que esta hablando chatgptChatGPT dice:
El script proporcionado utiliza el comando Netsh para mostrar información sobre la interfaz IPv6 de Ethernet y luego verifica el nivel de error (errorlevel) para decidir qué mensaje mostrar. Sin embargo, la lógica puede ser confusa en este contexto debido a la forma en que está estructurado el script.
En este caso, la lógica del script sería más clara si se expresara de la siguiente manera:
Código:@echo off Netsh interface ipv6 show interface "Ethernet" > nul 2>&1 if errorlevel 1 ( Show mensaje_B ) else ( Show mensaje_A )
Entonces, con esta corrección:
Espero que esto aclare la lógica del script.
- Mostrará el mensaje_A cuando solo IPV4 está habilitado.
- Mostrará el mensaje_B si IPV6 está habilitado (ya que errorlevel 0 indica que no hay errores).
Xtreme me enrede , en que parte estas hablando vos y en que parte ese engendro ? Podrias poner porfa citado la parte en que esta hablando chatgpt
No, pero entonces Chatgpt no entendio varias cosas :Todo eso lo dice chatgpt:
Te recomiendo que pruebes chatGPT.No, pero entonces Chatgpt no entendio varias cosas :
1. No se pueden cambiar la opciones de repuestas como hizo, porque estas son fijas (Fue un examen).
2. Ignorando el punto anterior, y suponiendo que en Netsh el errorlevel 0 quiere decir que no hay error , y que el script se puede modificar, la conclusion al scritpt que propuso chatgpt no seria como dice (O al menos a mi no me cuadra, porque define que es errorlevel 0 pero que carajos es errorlevel 1 ? )
Le puedes promtear porfa que que indica errorlevel 0 en el comando Netsh interface ipv6 show interface "Ethernet" > nul 2>&1
Pero ahi se esta refiriendo al codigo original o al que chatgpt modifico ??Te recomiendo que pruebes chatGPT.
Escribí lo que me dijiste y esto dice:
Mis disculpas por la confusión. En el contexto de tu script, si Netsh interface ipv6 show interface "Ethernet" se ejecuta correctamente (sin errores), entonces errorlevel sería igual a 0. Entonces, la lógica del script es la siguiente:
En resumen, la respuesta correcta sería:
- if errorlevel==0: Mostrará el mensaje_A si la interfaz IPv6 "Ethernet" está habilitada y funciona correctamente.
- else: Mostrará el mensaje_B si hay algún problema con la interfaz IPv6 "Ethernet" o si no está habilitada.
Espero que esto aclare tu pregunta original sobre el script.
- Mostrará el mensaje_A cuando la interfaz IPv6 "Ethernet" está habilitada y funciona correctamente.
- Mostrará el mensaje_B si hay algún problema con la interfaz IPv6 "Ethernet" o si no está habilitada.
Nota1: Cambie show x echo , porque al parecer ese no es comando pa mostrar mensajes@echo off
Netsh interface ipv6 show interface "Ethernet" > nul 2>&1
if errorlevel==0 (
echo mensaje_A
) else (
echo mensaje_B
)
Y ¿si le dejan la beca al que sí supo interpretar el script? solo digo...Up !!, Una Beca en juego
Al parecer nadie lo supo interpretar porque esta errada tanto la pregunta como las respuestas . Eso es lo que se pretende demostrarY ¿si le dejan la beca al que sí supo interpretar el script? solo digo...