Объединение строк в пакетном файле - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть машина с несколькими IP-адресами.Я хотел бы написать пакетный скрипт, который может объединить эти IP-адреса вместе.До сих пор мне удавалось анализировать IPCONFIG и выводить каждый IP-адрес построчно:

@echo off
setlocal EnableDelayedExpansion

FOR /F "tokens=*" %%a IN ('ipconfig ^| findstr /i "ipv4"') do (
echo Line - %%a
)

Это дает мне следующий вывод:

Line - IPv4 Address. . . . . . . . . . . : x.x.x.x
Line - IPv4 Address. . . . . . . . . . . : y.y.y.y

Что бы я хотелсделать это взять IP-адреса в конце каждой строки и в конечном итоге с одной выходной строкой, как показано ниже:

IPs=x.x.x.x;y.y.y.y

Я не уверен, как поступить.Любые предложения будут оценены.

Спасибо!

1 Ответ

0 голосов
/ 20 ноября 2018
  • 1-й для разделения строки в двоеточии,
  • 2-й для пробелов.
  • Установка "IPs =% IPs: ~ 1%" `удаляет начальную точку с запятой

:: Q:\Test\2018\11\20\SO_53384288.cmd
@echo off
setlocal EnableDelayedExpansion
Set "IPs="
FOR /F "tokens=2delims=:" %%A IN (
    'ipconfig ^| findstr /i "ipv4"'
) do for %%B in (%%A) do Set "IPs=!IPs!;%%B"
Set "IPs=%IPs:~1%"
set IPs
...