![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Настройка "Подключения по локальной сети" с помощью CMD |
|
CMD/BAT - [решено] Настройка "Подключения по локальной сети" с помощью CMD
|
Старожил Сообщения: 158 |
Подскажите пожалуйста можно ли с помощью cmd(bat)-файла настроить подключение по локальной сети, свойства "Протокола Интернета (TCP/IP)": IP-адрес, Маска подсети, Основной шлюз, Предпочитаемый DNS-сервер, Альтернативный DNS-сервер и т.д.
|
|
Отправлено: 10:24, 15-10-2009 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата boss911:
for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do set NETWORK=%%a echo %NETWORK% set NETWORK= for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do if not defined NETWORK set NETWORK=%%a echo %NETWORK% Цитата boss911:
![]() wmic path Win32_networkadapter where "NetConnectionStatus=2" get NetConnectionID,DeviceID /value |
||
Последний раз редактировалось El Sanchez, 30-11-2011 в 14:54. Причина: DeviceID вместо Index, классы попутал Отправлено: 13:09, 26-11-2011 | #61 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать El Sanchez
То, что вы написали, я это примерно для себя понимал, посему и написал, что вся соль в том, что NetConnectionID выводит имена не по имени подключений, а, как я для себя выяснил из ваших слов, по уникальному индексу. Iska предложил делать сортировку через SORT.EXE, но он не сортирует, как того хотелось бы, по логике, подключение "Подключение по локальной сети" без цифры в конце этого имени, всегда самым последним. Хотел решить вопрос через sort.exe /+n но тут надо знать количество символов самого длинного имени, блин. |
Последний раз редактировалось boss911, 26-11-2011 в 14:40. Отправлено: 13:26, 26-11-2011 | #62 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Цитата boss911:
|
|
Отправлено: 22:46, 26-11-2011 | #63 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать boss911, проблема не в «sort.exe», проблема в связке особенностей вывода «wmic.exe» и разбора «for /f».
Попробуйте использовать вывод в промежуточный временный файл, наподобие: В Вашем случае код может быть примерно таким: @echo off setlocal enableextensions enabledelayedexpansion call :GetTemporaryName wmic.exe NIC where "NetConnectionStatus=2" get NetConnectionID /value >"%TemporaryName%" set sNetwork= for /f "tokens=2 delims==" %%i in ( 'type "%TemporaryName%" ^| sort.exe' ) do if not defined sNetwork set sNetwork=%%i echo [%sNetwork%] del /f /q "%TemporaryName%" endlocal exit /b 0 rem ========================================================================== rem ========================================================================== rem Функция GetTemporaryName() rem rem Серый форум / CMD/BAT: генерация пути для временного файла или папки rem (http://forum.script-coding.com/viewtopic.php?id=6259) rem ========================================================================== :GetTemporaryName setlocal enableextensions enabledelayedexpansion :NextName set sTempName=%temp%\temp%random%.tmp if exist "%sTempName%" goto :NextName set sProcName=%~0 endlocal & set %sProcName:~4%=%sTempName% exit /b 0 rem ========================================================================== |
Отправлено: 04:57, 27-11-2011 | #64 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Iska
Спасибо, теперь вроде работает как нужно. Сделал для себя немного компактнее код: @Echo off SETLOCAL EnableExtensions EnableDelayedExpansion SET NETWORK= FOR /F "Delims=" %%i IN ('ECHO %TEMP%\~#%random%.tmp') DO SET TemporaryName="%%i" WMIC PATH Win32_networkadapter WHERE "NetConnectionStatus=2" GET NetConnectionID /VALUE >%TemporaryName% FOR /F "Tokens=2 Delims==" %%i IN ('TYPE %TemporaryName% ^| SORT') DO IF NOT Defined NETWORK SET NETWORK="%%i" ECHO %NETWORK% DEL /F /Q %TemporaryName% ENDLOCAL PAUSE >nul |
Последний раз редактировалось boss911, 01-12-2011 в 09:24. Причина: добавил «@Echo off» Отправлено: 11:46, 27-11-2011 | #65 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата boss911:
WMIC PATH Win32_NetworkAdapter WHERE "NetConnectionStatus=2 and AdapterTypeID=0" GET NetConnectionID /VALUE |
|
Отправлено: 19:19, 28-11-2011 | #66 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать El Sanchez
Классы я уже видел, но вот как их правильно юзать, не вкуриваю. С вашим кодом все равно выводит 1394 подключение. Снова курю классы, но что-то не курится. Какое бы значение я не ставил, всегда "Отсутствуют экземпляры класса" (наверное, я чего-то не понимаю). Ключ /r для sort.exe я пробовал, он пригоден только в одном случае, если же подключения названы немного по-другому, он будет только мешать. Не выход. Пока что правильно сортирует имена подключений код, который мне подсказал Iska. |
Последний раз редактировалось boss911, 29-11-2011 в 00:29. Отправлено: 00:17, 29-11-2011 | #67 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать boss911, может, ещё раз опишете, что Вы хотите получить? Я, например, вовсе запамятовал.
|
Отправлено: 02:21, 29-11-2011 | #68 |
Alien Сообщения: 4262
|
Профиль | Отправить PM | Цитировать Iska
Мне нужно, чтобы 1394 я не видел в этом списке, точнее сказать, применив этот код, оно игнорировало это подключение. Цитата boss911:
|
|
Отправлено: 02:42, 29-11-2011 | #69 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать boss911, я имел в виду — словами. Чем отличаются те соединения, которые нужно оставить, от тех, которые нужно убрать? Каковы критерии?
|
Отправлено: 04:57, 29-11-2011 | #70 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
D-Link - D-LINK 300T "нет подключения по локальной сети"... | yanvlad | Сетевое оборудование | 32 | 30-12-2009 08:48 | |
Доступ - [решено] учетная запись "пользователь" нет поключения к локальной сети | kanstantsin | Microsoft Windows 2000/XP | 5 | 30-11-2009 00:38 | |
[решено] Доступ к локальной сети через входящее "Dial up" подключение | Eugene R | Microsoft Windows NT/2000/2003 | 6 | 10-03-2009 09:54 | |
VBS/WSH/JS - [решено] Как добавить "сложное" значение в "бинарный" параметр реестра с помощью WSH | 13Demon | Скриптовые языки администрирования Windows | 1 | 10-02-2009 09:47 | |
[решено] Не видны подключения по локальной сети в папке "Сетевые подключения" | Skoba | Microsoft Windows NT/2000/2003 | 12 | 08-10-2007 09:06 |
|