Мне нужно найти шлюз по умолчанию в сценарии openvpn, где вывод маршрута выглядит так:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.49.73.1 10.49.73.24 10
0.0.0.0 128.0.0.0 10.8.0.1 10.8.0.2 30
Поэтому я гугл вокруг немного и нашел этот сценарий здесь:
@For /f "tokens=3" %%* in (
'route.exe print ^|findstr "\<0.0.0.0\>"'
) Do @Set "DefaultGateway=%%*"
echo %DefaultGateway%
Это работает, но соответствует обеим линиям в выводе маршрута.
Но мне нужно найти эту строку:
0.0.0.0 0.0.0.0 10.49.73.1 10.49.73.24 10
Поэтому я попытался изменить параметр findstr следующим образом:
findstr "\<0.0.0.0\>.\<0.0.0.0\>"
в ожидании, что "." будет соответствовать вкладке между столбцами. Но это не так. Это все еще установит DefaultGateway к 10.8.0.1
Я не мог найти ключ в документации MS тоже. Может кто знает правильное выражение? Большое спасибо.