Apagada docs

Aprendiendo a programar el pasado

Herramientas de usuario

Herramientas del sitio


es:bat:getmyip.cmd
Obtener la dirección IPv4 local usando archivos de proceso por lotes

Imagine que tiene una applicación que necesita ser configurada con su dirección ip local antes de iniciarla, como ocurre con Construct2.

Podría obtener una dirección ip desde powershell, pero en algunos sistemas powershell está restringido y solo puede ser empleado por administradores.

También podría usar un script python o sed para obtener la dirección ip desde la línea de comandos, pero, ¿qué ocurre si quiere usar solo primitivas de windows?

Este archivo de proceso por lotes obtiene la salida de ipconfig, encuentra una dirección local ipv4 y la devuelve como la variable de entorno %IPv4%.

@echo off
rem Este archivo funciona solo en la línea de comandos de windows.
rem necesita hacer uso de comandos extendidos como 
rem "exit /B", "for /F" y "set /A"
rem
 
if %1.==""K"". goto :findandexit
if %1.==L. goto :ipfound

 
rem "FOR" no admite comandos con tuberías ("|"), por eso hay que
rem llamar a este mismo archivo para que ejecute un "ipconfig | find IPv4" y
rem se quede lo que hay después del ":".
for /F  "usebackq tokens=2 delims=:\" %%a in (`%0 ""K""`) do call %0 L %%a
exit /B
goto :xit
 
:ipfound
rem Comprobando que sea un número...
set IPV4t=%2
set IPV4t=%IPV4T:.=%
set /A IPv4t=%IPV4t%-%IPV4t%
if %ipv4t%==0 set IPV4=%2
set ipv4t=
echo IPV4=%2
exit /B
goto :xit
 
:findandexit
ipconfig |find "IPv4"
exit /B
goto :xit
:xit
Este sitio web utiliza cookies. Al utilizar el sitio web, usted acepta almacenar cookies en su computadora. También reconoce que ha leído y entendido nuestra Política de privacidad. Si no está de acuerdo abandone el sitio web.Más información
es/bat/getmyip.cmd.txt · Última modificación: 2017/01/01 05:18 por nepenthes