Página 1 de 2

[DUDA] Variable donde se guarda el nombre de la red??

Publicado: 05 Nov 2011, 03:08
por amras5584
muy buenas. estoy cursando el Ciclo Superior de Administración de Sistemas Informáticos en Red y nos han puesto un ejercicio, que consiste en crear un BATCH (*.bat, Windows) usando NETSH para cambiar la IP de nuestra máquina introduciendo la que queramos como parámetro junto con su máscara. yo tengo hecho lo siguiente:

Código: Seleccionar todo

@echo off
echo Introduce a IP que desexes
set /P IP=
echo Introduce a Máscara axeitada
set /P masc=

netsh interface ip set address "Conexión de área local" %IP% %masc%


pero resulta que al ejecutarlo desde el BATCH me da error al poner el nombre por contener tildes y tal (desde el CMD funciona perfectamente el mismo comando tal cual). un compañero lo solucionó forzando al BATCH para que use el código de caracteres correcto y que así reconozca las tildes, pero creo que sería más efectivo si se omite el tener que poner el nombre, porque no siempre hay que conocer el nombre de la red o puede que se haya cambiado o algo (aunque es fácil saber qué nombre tiene haciendo simplemente un IPCONFIG).

entonces se me ocurrió que tal vez podría leerse el nombre desde una variable de entorno del sistema (como por ejemplo TIME), pues se supone que eso debe estar guardado en algún sitio, pero no encuentro información sobre cómo narices se puede llamar. entonces mi comando anterior quedaría algo así:

Código: Seleccionar todo

netsh interface ip set address "%nombrered%" %IP% %masc%


pero eso, alguien sabe cómo se llama esa variable?? gracias por el tiempo empleado en leer mi mensaje.

P.D.: tal vez esto esté mejor en Ayuda, pero como es programación (básica, pero programación al fin y al cabo) y vi temas similares pidiendo ayuda aquí, creo que está bien. pido perdón si no es el caso...

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 07 Nov 2011, 10:49
por m0skit0
Batchs de Windows, qué dolor... Usad Perl o algún otro lenguaje de scripting que es 100 veces más potente, por favor. Nadie en su sano juicio hace Batchs de Windows ya...

En fin, lo que preguntas no existe porque puede haber más de una conexión de red. No hay variable de entorno que contenga el nombre de la conexión (y no el "nombre de la red"...). Y de todas formas no puedes fiarte del nombre de la red porque ¿qué pasaría si el Windows en el que ejecutas tu "script" (por llamarlo algo...) no es español? Con este tipo de cosas es cuando uno se da cuenta de lo mucho que apesta Windows.

En Linux es coser y cantar.

Saludos.

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 07 Nov 2011, 14:04
por amras5584
gracias por contestar.

lo de usar batch ya sé que es una mierda, pero qué le pides si en los apuntes habla del Windows XP como una novedad, como se está hablando del Windows 8 ahora, jajajaa... el ejercicio pedía simplemente introducir una IP y una máscara y que se cambie usando el comando NETSH.

lo de la variable fue cosa mía precisamente porque no tienes por qué saber cómo se llama la conexión y si lo ejecutas en un ordenador inglés se llamará "Local Area Network", por lo que tal cual está tampoco funcionaría, pero como te digo es una cosa demasiada simple como para que ni el profesor se fije en eso.

sólo espero que cambiemos a algo más completo, pero me da que no, porque el módulo es de Administración de Sistemas Operativos y se supone que nos está enseñando los BATCH para crear pequeños ejecutables sencillos y que cualquier ordenador Windows pueda ejecutar, nada complicado ni cosas de esas.

en principio haremos lo mismo con Linux y miedo me da como lo explique de la misma manera que en Windows. igual empieza a hablar de sistemas Unix sin interfaz gráfica ni nada, jajaja....

gracias de nuevo.

Deica.

P.D.: para algunos ejercicios me está ayudando bastante la base que cogí con tu curso de C. ya sé que es más simple aun que C, pero como siempre dices muchas cosas son casi iguales. por ejemplo:

Código: Seleccionar todo

@echo off
echo Introduce a cifra menor
set /P cifra1 =
echo Introduce a cifra maior
set /P cifra2 =
cls

set /A cifra1 = %cifra1% + 1
:resta
set /A resta = %cifra2% - 1
set cifra2 = %resta%
echo %cifra2%

if "%cifra2%" GTR "%cifra1%" (goto resta)

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 07 Nov 2011, 16:56
por m0skit0
amras5584 escribió:el módulo es de Administración de Sistemas Operativos

¿Y dónde quedó lo de Operativos? :lol:

amras5584 escribió:igual empieza a hablar de sistemas Unix sin interfaz gráfica ni nada, jajaja....

No necesitas GUI para administrar. De hecho estorba más que ayuda el 99% de las veces.

amras5584 escribió:para algunos ejercicios me está ayudando bastante la base que cogí con tu curso de C. ya sé que es más simple aun que C, pero como siempre dices muchas cosas son casi iguales

Sólo por el hecho de obligarte a usar GOTO en el siglo XXI habría que matar a Bill Gates y toda su estirpe.

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 07 Nov 2011, 20:17
por amras5584
ya, pero qué quieres?? ya bastante ofrece el CMD que pensaba que era más cutre aun de lo que es, jejeje... y lo del entorno sé que molesta. de hecho en un módulo trabajamos sin entorno gráfico de ningún tipo, ni siquiera está instalado el servidor X...

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 07 Nov 2011, 20:20
por dark_sasuke
Asi es facil, sin nada grafico, solo por shell ... Asi manejas los VPS :D (Con Linux claro)

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 08 Nov 2011, 09:18
por largeroliker
amras5584 escribió:lo de usar batch ya sé que es una mierda, pero qué le pides si en los apuntes habla del Windows XP como una novedad, como se está hablando del Windows 8 ahora, jajajaa.


No te quejes, yo tengo apuntes de DOS como si fuera algo actual :lol:

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 08 Nov 2011, 10:24
por m0skit0
amras5584 escribió:y lo del entorno sé que molesta. de hecho en un módulo trabajamos sin entorno gráfico de ningún tipo, ni siquiera está instalado el servidor X...

Insisto que el entorno sin X no molesta para nada.

largeroliker escribió:yo tengo apuntes de DOS como si fuera algo actual :lol:

Joer, que no son apuntes de DOS vice... Es PowerShell! Pero a pesar del nombre sigue siendo una caquita.

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 08 Nov 2011, 10:53
por largeroliker
PowerShell? A mí me lo venden como MSDOS, y de hecho uso MSDOS :lol:

Re: [DUDA] Variable donde se guarda el nombre de la red??

Publicado: 08 Nov 2011, 12:19
por m0skit0
¿Qué MS-DOS usas pues?