CMD/BAT - [решено] Необходимо вынести ip шлюза в переменую

Ответить
Аватара пользователя
Ricardo

CMD/BAT - [решено] Необходимо вынести ip шлюза в переменую

Сообщение Ricardo »

Добрый день!

Помогите пожалуйста с bat скриптом.



Суть:

Мне нужно в переменную запихнуть адрес шлюза, который мне приходит в 3 столбце

Нужно учитывать, что строк в таблице может быть несколько.

Мне подойдет, тот который первый.

В данный момент, я вывожу табличку и вручную перебиваю адрес.

Вот код:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

route -4 PRINT | findstr "0.0.0.0"
@echo You must select the ip that in 3 column
set /p gateway="gateway:"
.... дальнейшая логика









Вот как работает скрипт

123.png
Аватара пользователя
YuS_2

Re: CMD/BAT - [решено] Необходимо вынести ip шлюза в переменую

Сообщение YuS_2 »

Цитата Ricardo:



В данный момент, я вывожу табличку и вручную перебиваю адрес.
CMD/BAT - [решено] Необходимо вынести ip шлюза в переменую




Для внедрения автоматизации, лучше всего подойдет повершел... и да, его таки можно запускать из cmd и даже присваивать значения переменным, но это не самое эффективное его использование.



Код:

Код: Выделить всё

get-netroute -dest '0.0.0.0/0' | select -exp 'NextHop'

- выдаст шлюз по умолчанию.
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Необходимо вынести ip шлюза в переменую

Сообщение megaloman »

Код:

Код: Выделить всё

@Echo Off
cls
	FOR /F "usebackq tokens=3 delims= " %%s In (`2^>nul route -4 PRINT ^| findstr /R /C:"^.*0\.0\.0\.0.*0\.0\.0\.0.*$"`) DO (
		Set "gateway=%%s"
		GoTo :Continue
	)
	:Continue
Echo %gateway%
Pause
Exit /B


Код:

Код: Выделить всё

@Echo Off
cls
	FOR /F "usebackq delims={," %%s In (`wmic NICCONFIG GET DefaultIPGateway ^| find ","`) DO Set "gateway=%%~s"
Echo %gateway%
Pause
Exit /B
Ответить

Вернуться в «Скриптовые языки администрирования Windows»