Я пытаюсь, чтобы cmd копировал только определенный набор символов из вывода команды. Я был в состоянии выбрать строку, в которой существует фраза, но оттуда я потерян. Вот моя команда до сих пор.
ipconfig | findstr /i "ipv4"
Я уверен, что вы знакомы с командой ipconfig
и командой findstr
. В основном я изолирую IPv4-адрес конкретного компьютера.
Это то, что приведенная выше команда.
IPv4 Address. . . . . . . . . . . : 192.168.1.75
Я хотел бы выделить "192.168.1." и сохранить его в переменной, которая будет использоваться гораздо позже в команде. Скажите, что я установил «192.168.1». к переменной a
.
Следующая команда, которую я хочу запустить, сканирует все IP-адреса с 192.168.1.1 по 192.168.1.254 и сохраняет то, что используется. Так как это, скоро будет программа, будет запускаться на разных компьютерах в разных местах «192.168.1». будет другим, и я хочу изолировать все, что cmd помещает в его местоположение. Таким образом, вышеупомянутая переменная а может быть , но не ограничиваясь этим, 192.168.10., 10.10.10., Или даже 1.1.1. в зависимости от ситуации. Вот код, который я буду использовать.
FOR /L %i IN (1,1,254) DO ping -n 1 (the 'a' variable)%i | FIND /i "bytes=">>c:\ipaddresses.txt
или если помогает понять, как будет выглядеть переменная.
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.1.%i | FIND /i "bytes=">>c:\ipaddresses.txt
Я использую 64-битную Windows 10 Pro Machine.