С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 01.02.2015
Сообщений: 5
1

Выбор сетевого интерфейса

31.08.2018, 10:35. Показов 2780. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый день. Появилась необходимость написать скрипт для настройки сети. Так как все компы имеют статические параметры подключения, а компьютеров больше 60. Не удобно каждый раз, при необходимости, настраивать это все в ручную. Слабые пк, вирусы и тп.
Итак. Скрипт я уже написал и все работает, однако есть одно "НО"

Есть команда:

Windows Batch file
1
2
3
echo Доступные сетевые соединения (скопируйте имя необходимого!):
For /F "Tokens=2* delims=:" %%A In ('Systeminfo^|Find /i "Имя подключения:"') Do Echo %%A
pause
Запуская скрипт, первое что происходит это поиск сетевых соединений всех видов и вывод их на экран. Далее я копирую нужное имя сети вручную ctrl+c и вставляю там где меня просит скрипт.

Так вот! Мне надо понять как сделать чтобы после того как скрипт определил все сетевые устройства, он их привязал к цифрам.
Например: 1. ethernet 2.vpn 3. (еще что-то) ну и логично введя команду 1 2 или 3 сетевое подключение выбиралось.
Такое вообще возможно?
Для чего это нужно: 1. еще больше упростит скрипт, не придется копировать (а вдруг зацеплю лишний пробел) 2. Можно будет убрать пункт где меня просят ввести то что я скопировал.

Вот сам скрипт, который я собирал исходя из своих скудных знаний и логики, а также по средствам гугла!
Кликните здесь для просмотра всего текста

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@echo off
chcp 1251
echo =========================================================
echo Доступные сетевые соединения (скопируйте имя необходимого!):
For /F "Tokens=2* delims=:" %%A In ('Systeminfo^|Find /i "Имя подключения:"') Do Echo %%A
echo =========================================================
pause
 
set /p ipa="Введите ip адрес:"
echo Новый ip адрес - %ipa%
 
set /p tcp="Введите имя сетевого соединения:"
echo Выбрано сетевое соединение - %tcp%
 
:newip
set IFACE="%tcp%"
set IP=%ipa%
set MASK=255.255.255.0
set GATEWAY=00.00.00.00
set GWMETRIC=1
set DNS1=00.00.00.00
set DNS2=00.00.00.00
goto info
 
:info
echo ========================
echo Новые настройки сети:
echo -
echo ip-адрес: %IP%
echo Маска подсети: %MASK%
echo Основной шлюз: %GATEWAY%
echo ДНС сервер 1: %DNS1%
echo ДНС сервер 2: %DNS2%
echo -
echo ========================
 
netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY% %GWMETRIC%
netsh interface ip set dns %IFACE% static %DNS1% primary
netsh interface ipv4 add dns %IFACE% %DNS2% index=2
 
pause


Может кому пригодится
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.08.2018, 10:35
Ответы с готовыми решениями:

Отключение сетевого интерфейса
Друзья, нужен батник на отключение сетевой карты.

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

В чём разница между обычным подключением сетевого диска и подключением сетевого диска при помощи политик?
Вопрос начинающего. В чём разница между обычным подключением сетевого диска и подключением сетевого...

Определение сетевого интерфейса.
Этот код определяет сетевой интерфёйс #include "stdafx.h" #include "pcap.h" #include "conio.h"...

2
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
01.09.2018, 02:18 2
Лучший ответ Сообщение было отмечено Hanigun как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
setlocal enabledelayedexpansion
 for /f "tokens=1* delims=:" %%a in ('systeminfo^|find /i "Имя подключения:"') do set "$_%%b=%%b"
 echo Для выбора:
 echo ---------------------------
 for /f "tokens=1,2* delims==[]" %%a in ('set $_^|find /n /v ""') do set "A%%a=%%c"& echo%%c нажмите: %%a
 echo ---------------------------
 set /p n=& call :# "%%A!n!:~1%%"
endlocal
pause& exit
 
:#
 echo Команды для "%~1"
exit /b
1
0 / 0 / 0
Регистрация: 01.02.2015
Сообщений: 5
01.09.2018, 10:23  [ТС] 3
Спасибо! Выбор появился, сейчас буду думать как это дело объединить с моим скриптом, чтоб не закрывалось и не выдавало ошибок.
0
01.09.2018, 10:23
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.09.2018, 10:23
Помогаю со студенческими работами здесь

Вывести метрику сетевого интерфейса
Всем привет, такая задумка... Вывести метрику сетевого интерфейса для каждого отдельного шлюза. Как...

Изменить имя сетевого интерфейса на wlan0
на дистрибютиве airslax у меня на ноутбуке нету интерфейса wlan0, вместо него есть eth1, и вайфай...

Переподнятие сетевого интерфейса в случае отсутствия интернета
Есть скрипт: #!/bin/sh count6=0 count6=$(ping -c 1 8.8.8.8 | grep 'received' | awk -F',' '{...

Как ограничить скорость сетевого интерфейса до 32 кбит/с?
Здравствуйте! Для тестов необходимо ограничить скорость сетевого интерфейса до 32 кбит/с (в обе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Администрирован­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru