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