Sacar texto con delimitador de un .txt y guardarlo en una variable (Batch Windows)

A tod@s el problema en si es que necesito sacar la ip de esta línea y guardarla en una variable (solo la IP 4 octetos, ya podría ser esa ip o una como 192.168.100.2).

Tengo el siguiente archivo .bat;

@echo off
echo            ============================
echo            = CONFIGURACION DEL EQUIPO =
echo            ============================
echo\
Echo Fecha de hoy: %date% 
Echo.
Echo Nombre del Equipo: %computername% 
Echo.
Echo Direccion IP: 
    ipconfig | find /i "IPv4"
    ipconfig | find /i "IPv4" >> ip.txt
Echo.
Echo MAC del Equipo:
    Getmac 
Echo.
Echo FECHA : %date% HORA : %time% NOMBRE DEL EQUIPO : %computername% >> info.txt
echo\
Echo Presione la tecla "SPACE" para cerrar esta ventana...
Pause > nul

Que lo que me da es información básica del equipo:

Y lo que quiero es la Ip para añadírsela a el archivo al archivo que redirecciono como "info.txt" que se muestra de la siguiente manera.

Resumiendo quiero obtener la string que va desde ":" en adelante y guardarla en una variable.

1 respuesta

Respuesta
1

Prueba con esto:

@echo off
echo            ============================
echo            = CONFIGURACION DEL EQUIPO =
echo            ============================
echo\
Echo Fecha de hoy: %date%
Echo.
Echo Nombre del Equipo: %computername%
Echo.
Echo Direccion IP:
    ipconfig | find /i "IPv4"
    ipconfig | find /i "IPv4" >> ip.txt
Echo.
Echo MAC del Equipo:
    Getmac
Echo.
for /f "tokens=17*" %%a in ('ipconfig ^| find /i "IPv4"') do set ip=%%a
Echo FECHA : %date% HORA : %time% NOMBRE DEL EQUIPO : %computername% IP DEL EQUIPO : %ip% >> info.txt
echo\
Echo Presione la tecla "SPACE" para cerrar esta ventana...
Pause > nul

Debes tener en cuenta que un equipo puede tener más de una IP si pertenece a más de una red o si utiliza entornos virtuales. Tal como está se quedaría con la última. Que yo sepa no hay otra manera que usar un FOR para asignar a una variable la salida de un comando (o una parte de ella).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas