epoddubniy |
13-07-2021 14:22 2962059 |
Сохранить в переменную значение заключенное в кавычки, в строке
Здраствуйте.
при выполнении команды
Код:
netsh interface ipv4 dump
получаю вывод
Код:
reset
set global
add route prefix=0.0.0.0/0 interface="Ethernet0" nexthop=192.168.0.10 metric=1 publish=Да
set interface interface="Ethernet (отладчик ядра)" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
set interface interface="Ethernet0" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
add address name="Ethernet0" address=192.168.1.75 mask=255.255.248.0
в этом выводе есть строка
Код:
add route prefix=0.0.0.0/0 interface="Ethernet0" nexthop=192.168.0.10 metric=1 publish=Да
Помогите пожалуйста сохранить значение заключенное в кавычки в переменную, чтобы ее можно было далее в скрипте использовать, как параметр при вызове другого командного файла через "call"
Спасибо!
|
для начала, вот это в PowerShell выводит нужную информацию?
Код:
Get-NetRoute -AddressFamily IPv4 -RouteMetric 1
|
в bat найти из строки не проблема:
Код:
@echo off
set "line= add route prefix=0.0.0.0/0 interface="Ethernet0" nexthop=192.168.0.10 metric=1 publish=Да"
for /f tokens^=2^ delims^=^" %%a in ("%line%") do echo %%a
pause
проблема найти саму строку, попробуйте так:
Код:
@echo off
set "comm=netsh interface ipv4 dump"
for /f tokens^=2^ delims^=^" %%a in ('"%comm%|find /i "publish""') do echo %%a
pause
просто у меня нет постоянных(Publish) адресов чтобы проверить, только активные(Active)
|
epoddubniy |
13-07-2021 15:22 2962066 |
Цитата:
Цитата alpap
для начала, вот это в PowerShell выводит нужную информацию?
Код:
Get-NetRoute -AddressFamily IPv4 -RouteMetric 1 »
|
Код:
PS C:\Windows\system32> Get-NetRoute -AddressFamily IPv4 -RouteMetric 1
Get-NetRoute : Запрос CIM экземпляров класса ROOT/StandardCimv2/MSFT_NetRoute на CIM-сервере : SELECT * FROM MSFT_NetRoute
WHERE ((AddressFamily = 2)) AND ((RouteMetric = 1)) не удалось обнаружить соответствующие объекты (MSFT_NetRoute). Проверьте
параметры запроса и попробуйте еще раз.
строка:1 знак:1
+ Get-NetRoute -AddressFamily IPv4 -RouteMetric 1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSFT_NetRoute:String) [Get-NetRoute], CimJobException
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound,Get-NetRoute
ошибку выдает
Цитата:
Цитата alpap
Код:
@echo off
set "comm=netsh interface ipv4 dump"
for /f tokens^=2^ delims^=^" %%a in ('"%comm%|find /i "publish""') do echo %%a
pause »
|
вот это сработало. Спасибо большое alpap,
|
Время: 02:05.
© OSzone.net 2001-