Вот, что выдает первая команда:
Код:
WMIC NICCONFIG Where IPEnabled=TRUE Get IPSubnet /Value
IPSubnet={"255.255.255.128"}
IPSubnet={""}
IPSubnet={""}
IPSubnet={""}
Видимо, одно из пустых значений и записывается в переменную. Причина тому, наличие на машине нескольких сетевых адаптеров, я полагаю.
т.к. результат исполнения(вывода на экран) батника - нулевой.
решил так:
Код:
@Echo Off
For /F "Tokens=2 Delims=={}" %%i In ('WMIC NICCONFIG Where IPEnabled^=TRUE Get IPSubnet /Value') Do Set SubnetMask=%%~i& GoTo
Continue
:Continue
For /F "Tokens=1" %%i In ('Route Print^|Find "%SubnetMask%"') Do Set SubnetIP=%%i
Echo Subnet Address: %SubnetIP% / %SubnetMask%
Pause >Nul
т.е. после нахождения первого значения и записи его в переменную - перехожу дальше по тексту программы. Нормальный ли это вариант? Не сулит ли он каких-либо граблей в будущем?