2015-04-01 2 views
-2

У меня есть несколько IP-адресов в IPv4. Однако с помощью команд, какПоиск конкретных IP-адресов и результатов эха

ipconfig | findstr /R /C:"IPv4 Address"

покажет несколько результатов

я ищу для пакетного файла, чтобы захватить определенный IPv4-адрес, который начинается с

И отобразит полный IP-адрес:

192.168.100.232

С результатами я хотел бы разделить его на сегменты, как

A = 192
B = 168
C = 100
D = 232

Для того, чтобы я мог echo %A.%B.%C.%D

, который будет отображать

192.168.100.232

Как мне нужно сделать телнет с большим количеством устройств с несколькими адреса. Его раздражает, чтобы продолжить поиск IP-адреса.

Так что мои коды будут иметь в результате, как показано ниже:

TelNet% A.% B.% C.80

ответ

1

Вы можете попробовать с этим

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set "match=10" 

    set "ip=" 
    for /f "tokens=1-3 delims=. " %%a in (' 
     route print -4 %match%.* ^| find /v "..." 
    ') do (
     if not defined ip if "%%a"=="%match%" set "ip=%%a.%%b.%%c.80" 
    ) 

    if not defined ip (
     echo IP address not found 
     goto :eof 
    ) 

    echo %ip% 
+0

Спасибо. это тот ответ, который мне нужен. не могли бы вы указать мне, какую область изменить, если мне нужно изменить значение 192 на 10., как после изменения значения от 192 до 10. оно показывает некоторые странные результаты. –

+0

@marcuschan, см. Обновленный ответ. Изменены значения в коде для переменной, чтобы было легче изменить. –

+0

странный ха-ха. он отлично работает на моем другом компьютере. не на моем собственном компьютере. похоже, снимает физический адрес с моего ПК. –