Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Необходимо вынести ip шлюза в переменую (http://forum.oszone.net/showthread.php?t=350905)

Ricardo 20-03-2022 10:44 2982012

Необходимо вынести ip шлюза в переменую
 
Вложений: 1
  • 123.png (0 bytes, скачиваний: 0)
Добрый день!
Помогите пожалуйста с bat скриптом.

Суть:
Мне нужно в переменную запихнуть адрес шлюза, который мне приходит в 3 столбце
Нужно учитывать, что строк в таблице может быть несколько.
Мне подойдет, тот который первый.
В данный момент, я вывожу табличку и вручную перебиваю адрес.
Вот код:
Скрытый текст
Код:

route -4 PRINT | findstr "0.0.0.0"
@echo You must select the ip that in 3 column
set /p gateway="gateway:"

.... дальнейшая логика



Вот как работает скрипт
Файл 166365

YuS_2 20-03-2022 17:11 2982032

Цитата:

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

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

get-netroute -dest '0.0.0.0/0' | select -exp 'NextHop'
- выдаст шлюз по умолчанию.

megaloman 21-03-2022 07:58 2982054

Код:

@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



Время: 23:48.

Время: 23:48.
© OSzone.net 2001-