a ver lo que vi es que tenes 2 txt uno dice
detalle.txt
codigo:255
registro:2333
nombre pc:25555
ip:192.168.12.1
el otro es ips.txt
125.251.32.1
145.21.23.5
147.28.6.2
123.214.36.4
125.253.24.26
12.36.25.58
89.25.41.65
41.25.36.41
bue una forma y aclaro no la unica

seria
@echo off
(
echo 4,4,1M
echo e
) | edlin /b detalle.txt
<"detalle.txt" set /p "ip="
set "ip"
set copiar=%ip:~3%
echo %copiar%>>ips.txt
del /f detalle.txt
del /f detalle.bak
resultado en ips.txt con el primer code
125.251.32.1
145.21.23.5
147.28.6.2
123.214.36.4
125.253.24.26
12.36.25.58
89.25.41.65
41.25.36.41
192.168.12.1
el problemita que tiene es q si se va actualizando el detalle.txt no se como terminaria el ultimo renglon...jijiji ya me pongo a ver seria con for y find para q busque en cada renglon donde haya la palabra ip extraiga el caracter y lo copie a ips.txt...lo hago y modifico el mensaje
editadomira con un detalle.txt
codigo:255
registro:2333
nombre pc:25555
ip:192.168.12.1
codigo:255
registro:2333
nombre pc:25555
ip:192.168.12.2
codigo:255
registro:2333
nombre pc:25555
ip:192.168.12.3
y un code
@echo off
for /f %%a in ('FIND /I "ip" detalle.txt') do (echo %%a>>ips.txt)
sale esto...

ya se tiene los string ip:...pero no se como sacarlos dentro del for...algo se me va a ocurrir

125.251.32.1
145.21.23.5
147.28.6.2
123.214.36.4
125.253.24.26
12.36.25.58
89.25.41.65
41.25.36.41
----------
ip:192.168.12.1
ip:192.168.12.2
ip:192.168.12.3