|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка состояния Wi-Fi и уровня его сигнала |
|
CMD/BAT - [решено] Проверка состояния Wi-Fi и уровня его сигнала
|
![]() Новый участник Сообщения: 30 |
Есть код для проверки состояния Wi-Fi и уровня его сигнала:
Скрытый текст
@Echo Off SetLocal EnableExtensions & REM Использование дополнительных ключей. Chcp 1251 >Nul Title Проверка состояния Wi-Fi и уровня его сигнала. Mode Con: Cols=78 Lines=9 Set Count=1 :Check For %%n In ("Имя" "Состояние:" " SSID" "Сигнал") Do ( For /f "Tokens=1,* Delims=: " %%a In ('Netsh Wlan Show Interfaces ^| Find /i %%n') Do ( If %%n=="Имя" ( Set "Name=%%b" ) If %%n=="Состояние:" ( Set "State=%%b" ) If %%n==" SSID" ( Set "SSID=%%b" ) If %%n=="Сигнал" ( Set "Signal=%%b" ) ) ) Echo Проверок : %Count% Echo. Echo Имя : %Name% Echo SSID : %SSID% Echo Состояние : %State% Echo Сигнал : %Signal% Echo. Echo Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала. Set /a Count+=1 Pause >Nul Goto Check Вопрос: Как получить более чувствительные данные, а то замечаю инфа очень медленно обновляется и вовсе не точно по сравнении с программой "Wi-Fi Scanner"? Скорость не важна Важно: только четыре строчки "Имя, SSID, Состояние, Сигнал, Наглядный (не разбросанный) обзор выводимой инфы ну и наипростейший код". Менее важно: "Количество проверок, Дата и Время конечной проверки и Только нужный размер окна консоли". Наименее важно: "Заголовок окна консоли". Ну и если получится (очень важно) рабочий код написанный с использованием кодовой таблицы 65001 (UTF-8) то-есть код должен быть сохранен именно в этой кодировке. Благодаря всем неравнодушным резальтат был добит таким кодом: Русская версия (исправленная 24.11.2020)
@Echo Off REM WLAN (Wireless Local Area Network) — беспроводная локальная сеть. REM Wi-Fi (Wireless Fidelity) — это название торгового бренда, которое используется для обозначения устройств, подключаемых к беспроводной сети. REM Чаще всего термин WiFi рассматривается как синоним WLAN. Chcp 65001 >Nul REM Получение нужного размера окна Mode Con: Cols=80 LInes=43 Title Вывод информации о подключенной WLAN (русская версия). REM Указание размещения файла с базой данных Set "DataBase=DataBase.txt" REM Set "DataBase=DataBaseRus.txt" Set Count=1 :Check SetLocal EnableExtensions REM Строки для физического и виртуального (с подменой Netsh Wlan Show Interfaces на когда-то полученные) тестирований REM For /f "Eol=; Tokens=1-3*" %%a In (WiFi2.txt) Do Set "A1=%%a"& Set "B2=%%b"& Set "C3=%%c"& Set "D4=%%d"& Call :M1 For /f "Tokens=1-3*" %%a In ('Netsh Wlan Show Interfaces') Do Set "A1=%%a"& Set "B2=%%b"& Set "C3=%%c"& Set "D4=%%d"& Call :M1 REM Перевод строк которые можно перевести If "%Interface%"=="There is no wireless interface on the system." Set "Interface=Беспроводной интерфейс в системе отсутствует." If "%Interface%"=="The Wireless AutoConfig Service (wlansvc) is not running." Set "Interface=Служба автонастройки беспроводной сети (wlansvc) не запущена." If "%Interface%"=="There is 1 interface on the system:" Set "Interface=В системе 1 интерфейс:" If "%Interface:~-26%"==" interfaces on the system:" If "%Interface:~0,10%"=="There are " Set "N=%Interface:~10%"& Call :M3 If "%Interface%"=="There are %N% interfaces on the system:" Set "Interface=В системе %N% интерфейс%Ending%:" If "%State%"=="connected" Set "State=Подключено" If "%State%"=="disconnected" Set "State=Отключено" If "%State%"=="ad hoc network formed" Set "State=Создана сеть компьютер-компьютер" If "%RadioStatus%"=="Hardware On" Set "RadioStatus=Оборудование вкл." If "%RadioStatus2%"=="Software On" Set "RadioStatus2=Программное обеспечение вкл." If "%NetworkType%"=="Infrastructure" Set "NetworkType=Инфраструктура" If "%NetworkType%"=="Adhoc" Set "NetworkType=Прямое соединение" If "%ConnectionMode%"=="Auto Connect" Set "ConnectionMode=Автоматическое подключение" If "%ConnectionMode%"=="Profile" Set "ConnectionMode=Профиль" If "%HostedNetworkStatus%"=="Not available" Set "HostedNetworkStatus=Недоступно" If "%HostedNetworkStatus%"=="Not started" Set "HostedNetworkStatus=Не запущено" If "%HostedNetworkStatus%"=="Started" Set "HostedNetworkStatus=Запущено" REM Вывод возможной информации в окне консоли Echo. Echo Проверка : %Count% Echo Дата : %Date% Echo Время : %Time% Echo. Echo %Interface% Echo. Echo Имя : %Name% Echo Описание : %Description% Echo Идентификатор GUID : %GUID% Echo Физический адрес : %PhysicalAddress% Echo Состояние : %State% Echo Cостояние радио : %RadioStatus% Echo. %RadioStatus2% Echo SSID : %SSID% Echo BSSID : %BSSID% Echo Тип сети : %NetworkType% Echo Тип радио : %RadioType% Echo Проверка подлинности : %Authentication% Echo Шифр : %Cipher% Echo Режим подключения : %ConnectionMode% Echo Канал : %Channel% Echo Скорость приема (Мбит/с) : %ReceiveRate% Echo Скорость передачи (Мбит/с) : %TransmitRate% Echo Сигнал : %Signal% Echo Профиль : %Profile% Echo. Echo Состояние размещенной сети : %HostedNetworkStatus% If Exist %DataBase% ( REM Вывод с использованием базы данных: Echo Клиенты в размещенной сети : %Client1% Echo. %Client2% Echo. %Client3% Echo. %Client4% Echo. %Client5% Echo. %Client6% Echo. %Client7% Echo. %Client8% Echo. %Client9% Echo. %Client10% ) Else ( REM Или стандартный вывод ^(если не нужно использование базы данных^): Echo Клиенты в размещенной сети : %HostedNetworkClient1% Echo. %HostedNetworkClient2% Echo. %HostedNetworkClient3% Echo. %HostedNetworkClient4% Echo. %HostedNetworkClient5% Echo. %HostedNetworkClient6% Echo. %HostedNetworkClient7% Echo. %HostedNetworkClient8% Echo. %HostedNetworkClient9% Echo. %HostedNetworkClient10%) Echo. Echo.%ClientsLimitReached% Echo. Echo Нажмите любую клавишу, чтобы обновить информацию о подключенной WLAN. Pause >Nul Set /a Count+=1 REM Обнуление всех выше указанных переменных до метки [:Check] EndLocal & Set Count=%Count% Goto Check :M1 REM Блокировка приёма данных от второго и более интерфейсов (следующие две строки) %E% If %A1%==Name If DefIned Name Set "E=Exit /b"& Exit /b REM Создание переменных [%Interface%] If Not DefIned Interface (If "%D4:~-1%"==" " ( Set "Interface=%A1% %B2% %C3% %D4:~0,-1%"& Exit /b ) Else Set "Interface=%A1% %B2% %C3% %D4%"& Exit /b) REM Создание переменных [%с одним словом или символом, кроме двоеточия%] If "%B2%"==":" If Not DefIned %A1% ( If "%D4%"=="" Set "%A1%=%C3%"& Exit /b If Not "%D4%"=="" Set "%A1%=%C3% %D4%"& Exit /b) REM Создание переменных [%с двумя словами или символами, кроме двоеточия%] If Not DefIned %A1%%B2% ( If "%C3%"==":" Set "%A1%%B2%=%D4%"& Exit /b REM Создание переменных [%ReceiveRate%] и [%TransmitRate%] If "%B2%"=="rate" Set "%A1%%B2%=%D4:~2%"& Exit /b) REM Создание переменной [%RadioStatus2%] If DefIned RadioStatus If Not DefIned RadioStatus2 Set "RadioStatus2=%A1% %B2%"& Exit /b REM Создание переменных [%с тремя словами или символами, кроме двоеточия%] If Not DefIned %A1%%B2%%C3% Set "%A1%%B2%%C3%=%D4:~2%" REM Продолжение работы для создания переменных [%HostedNetworkClients(1-10)%], [%Client(1-10)%] и [%ClientsLimitReached%] If Not DefIned HostedNetworkClients Exit /b REM Выдача чисел от 9 до 1 для создания переменных [%HostedNetworkClients(1-10)%], [%Client(1-10)%] и [%ClientsLimitReached%] For /l %%a In (10,-1,1) Do Call :M2 %%a& If DefIned HostedNetworkClient%%a Exit /b :M2 Set /a min=%1-1 REM Создание переменных [%HostedNetworkClients10%], [%Client10%] и [%ClientsLimitReached%] If %min% EQU 9 If DefIned HostedNetworkClient%min% If Not DefIned HostedNetworkClient%1 ( set "ClientsLimitReached=Достигнут предел отображения клиентов в размещенной сети ^(не более 10^)" Set HostedNetworkClient%1=%A1% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %A1%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клиент [%A1%] не найден в базе данных" Exit /b) REM Создание переменных [%HostedNetworkClients(2-9)%] и [%Client(2-9)%] If %min% LSS 9 If %min% GTR 0 If DefIned HostedNetworkClient%min% If Not DefIned HostedNetworkClient%1 ( Set HostedNetworkClient%1=%A1% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %A1%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клиент [%A1%] не найден в базе данных" Exit /b) REM Создание переменных [%HostedNetworkClients1%] и [%Client1%] If %min% EQU 0 If DefIned HostedNetworkClients If Not DefIned HostedNetworkClient%1 ( Set HostedNetworkClient%1=%HostedNetworkClients% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %HostedNetworkClients%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клиент [%HostedNetworkClients%] не найден в базе данных" Exit /b ) Exit /b :M3 REM Добавление правильного окончания к слову [интерфейс] в зависимости от количества If "%Interface:~-26%"==" interfaces on the system:" If "%Interface:~0,10%"=="There are " Set "N=%N:~0,-26%" If %N% LEQ 9 ( If %N% EQU 0 Set Ending=ов& Exit /b If %N% EQU 1 Set Ending=& Exit /b If %N% GEQ 2 If %N% LEQ 4 Set Ending=а& Exit /b If %N% GEQ 5 If %N% LEQ 9 Set Ending=ов& Exit /b) If %N% GTR 9 ( If %N:~-2,1% EQU 1 Set Ending=ов& Exit /b If %N:~-2,1% GEQ 2 ( If %N:~-1% EQU 0 Set Ending=ов& Exit /b If %N:~-1% EQU 1 Set Ending=& Exit /b If %N:~-1% GEQ 2 If %N:~-1% LEQ 4 Set Ending=а& Exit /b If %N:~-1% GEQ 5 If %N:~-1% LEQ 9 Set Ending=ов& Exit /b) If %N:~-2,1% EQU 0 ( If %N:~-1% EQU 0 Set Ending=ов& Exit /b If %N:~-1% EQU 1 Set Ending=& Exit /b If %N:~-1% GEQ 2 If %N:~-1% LEQ 4 Set Ending=а& Exit /b If %N:~-1% GEQ 5 If %N:~-1% LEQ 9 Set Ending=ов& Exit /b) ) Українська версія (випрвлена 24.11.2020)
@Echo Off REM WLAN (Wireless Local Area Network) — бездротова локальна мережа. REM Wi-Fi (Wireless Fidelity) — це назва торгового бренду, яка використовується для позначення пристроїв, що підключаються до бездротової мережі. REM Найчастіше термін WiFi розглядається як синонім WLAN. Chcp 65001 >Nul Mode Con: Cols=83 LInes=43 Title Виведення інформації про підключену WLAN (українська версія). Set "DataBase=DataBase.txt" REM Set "DataBase=DataBaseUkr.txt" Set Count=1 :Check SetLocal EnableExtensions For /f "Tokens=1-3*" %%a In ('Netsh Wlan Show Interfaces') Do Set "A1=%%a"& Set "B2=%%b"& Set "C3=%%c"& Set "D4=%%d"& Call :M1 If "%Interface%"=="There is no wireless interface on the system." Set "Interface=Бездротовий інтерфейс в системі відсутній." If "%Interface%"=="The Wireless AutoConfig Service (wlansvc) is not running." Set "Interface=Служба автоналаштування бездротової мережі (wlansvc) не запущена." If "%Interface%"=="There is 1 interface on the system:" Set "Interface=В системі 1 інтерфейс:" If "%Interface:~-26%"==" interfaces on the system:" If "%Interface:~0,10%"=="There are " Set "N=%Interface:~10%"& Call :M3 If "%Interface%"=="There are %N% interfaces on the system:" Set "Interface=В системі %N% інтерфейс%Ending%:" If "%State%"=="connected" Set "State=Підключено" If "%State%"=="disconnected" Set "State=Відключено" If "%State%"=="ad hoc network formed" Set "State=Створена мережа комп'ютер-комп'ютер" If "%RadioStatus%"=="Hardware On" Set "RadioStatus=Обладнання вкл." If "%RadioStatus2%"=="Software On" Set "RadioStatus2=Програмне забезпечення вкл." If "%NetworkType%"=="Infrastructure" Set "NetworkType=Інфраструктура" If "%NetworkType%"=="Adhoc" Set "NetworkType=Пряме з'єднання" If "%ConnectionMode%"=="Auto Connect" Set "ConnectionMode=Автоматичне підключення" If "%ConnectionMode%"=="Profile" Set "ConnectionMode=Профіль" If "%HostedNetworkStatus%"=="Not available" Set "HostedNetworkStatus=Недоступно" If "%HostedNetworkStatus%"=="Not started" Set "HostedNetworkStatus=Не запущено" If "%HostedNetworkStatus%"=="Started" Set "HostedNetworkStatus=Запущено" Echo. Echo Перевірка : %Count% Echo Дата : %Date% Echo Час : %Time% Echo. Echo %Interface% Echo. Echo Ім'я : %Name% Echo Опис : %Description% Echo Ідентифікатор GUID : %GUID% Echo Фізична адреса : %PhysicalAddress% Echo Стан : %State% Echo Стан радіо : %RadioStatus% Echo. %RadioStatus2% Echo SSID : %SSID% Echo BSSID : %BSSID% Echo Тип мережі : %NetworkType% Echo Тип радіо : %RadioType% Echo Перевірка автентичності : %Authentication% Echo Шифр : %Cipher% Echo Режим підключення : %ConnectionMode% Echo Канал : %Channel% Echo Швидкість прийому (Мбіт/с) : %ReceiveRate% Echo Швидкість передачі (Мбіт/с) : %TransmitRate% Echo Сигнал : %Signal% Echo Профіль : %Profile% Echo. Echo Стан розміщеної мережі : %HostedNetworkStatus% If Exist %DataBase% ( REM Виведення з використанням бази даних: Echo Клієнти в розміщеній мережі : %Client1% Echo. %Client2% Echo. %Client3% Echo. %Client4% Echo. %Client5% Echo. %Client6% Echo. %Client7% Echo. %Client8% Echo. %Client9% Echo. %Client10% ) Else ( REM Або стандартне виведення ^(якщо не потрібно використання бази даних^): Echo Клієнти в розміщеній мережі : %HostedNetworkClient1% Echo. %HostedNetworkClient2% Echo. %HostedNetworkClient3% Echo. %HostedNetworkClient4% Echo. %HostedNetworkClient5% Echo. %HostedNetworkClient6% Echo. %HostedNetworkClient7% Echo. %HostedNetworkClient8% Echo. %HostedNetworkClient9% Echo. %HostedNetworkClient10%) Echo. Echo.%ClientsLimitReached% Echo. Echo Натисніть будь-яку клавішу, щоб оновити інформацію про підключену WLAN. Pause >Nul Set /a Count+=1 EndLocal & Set Count=%Count% Goto Check :M1 %E% If %A1%==Name If DefIned Name Set "E=Exit /b"& Exit /b If Not DefIned Interface (If "%D4:~-1%"==" " ( Set "Interface=%A1% %B2% %C3% %D4:~0,-1%"& Exit /b ) Else Set "Interface=%A1% %B2% %C3% %D4%"& Exit /b) If "%B2%"==":" If Not DefIned %A1% ( If "%D4%"=="" Set "%A1%=%C3%"& Exit /b If Not "%D4%"=="" Set "%A1%=%C3% %D4%"& Exit /b) If Not DefIned %A1%%B2% ( If "%C3%"==":" Set "%A1%%B2%=%D4%"& Exit /b If "%B2%"=="rate" Set "%A1%%B2%=%D4:~2%"& Exit /b) If DefIned RadioStatus If Not DefIned RadioStatus2 Set "RadioStatus2=%A1% %B2%"& Exit /b If Not DefIned %A1%%B2%%C3% Set "%A1%%B2%%C3%=%D4:~2%" If Not DefIned HostedNetworkClients Exit /b For /l %%a In (10,-1,1) Do Call :M2 %%a& If DefIned HostedNetworkClient%%a Exit /b :M2 Set /a min=%1-1 If %min% EQU 9 If DefIned HostedNetworkClient%min% If Not DefIned HostedNetworkClient%1 ( set "ClientsLimitReached=Досягнута межа відображення клієнтів у розміщеній мережі ^(не більше 10^)" Set HostedNetworkClient%1=%A1% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %A1%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клієнт [%A1%] не знайдений в базі даних" Exit /b) If %min% LSS 9 If %min% GTR 0 If DefIned HostedNetworkClient%min% If Not DefIned HostedNetworkClient%1 ( Set HostedNetworkClient%1=%A1% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %A1%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клієнт [%A1%] не знайдений в базі даних" Exit /b) If %min% EQU 0 If DefIned HostedNetworkClients If Not DefIned HostedNetworkClient%1 ( Set HostedNetworkClient%1=%HostedNetworkClients% For /f "Eol=; Tokens=1* Delims==" %%a In (%DataBase%) Do If %HostedNetworkClients%==%%a ( Set "Client%1=%%b"& Exit /b) Else Set "Client%1=Клієнт [%HostedNetworkClients%] не знайдений в базі даних" Exit /b ) Exit /b :M3 If "%Interface:~-26%"==" interfaces on the system:" If "%Interface:~0,10%"=="There are " Set "N=%N:~0,-26%" If %N% LEQ 9 ( If %N% EQU 0 Set Ending=ів& Exit /b If %N% EQU 1 Set Ending=& Exit /b If %N% GEQ 2 If %N% LEQ 4 Set Ending=и& Exit /b If %N% GEQ 5 If %N% LEQ 9 Set Ending=ів& Exit /b) If %N% GTR 9 ( If %N:~-2,1% EQU 1 Set Ending=ів& Exit /b If %N:~-2,1% GEQ 2 ( If %N:~-1% EQU 0 Set Ending=ів& Exit /b If %N:~-1% EQU 1 Set Ending=& Exit /b If %N:~-1% GEQ 2 If %N:~-1% LEQ 4 Set Ending=и& Exit /b If %N:~-1% GEQ 5 If %N:~-1% LEQ 9 Set Ending=ів& Exit /b) If %N:~-2,1% EQU 0 ( If %N:~-1% EQU 0 Set Ending=ів& Exit /b If %N:~-1% EQU 1 Set Ending=& Exit /b If %N:~-1% GEQ 2 If %N:~-1% LEQ 4 Set Ending=и& Exit /b If %N:~-1% GEQ 5 If %N:~-1% LEQ 9 Set Ending=ів& Exit /b) ) Вдобавок выкладу созданные исполняемые файлы скомпилированные программой "Bat To Exe Converter v3.2.0.0" с использованием только этих кодов и иконки, с названием в шапке справа "WLAN Info En-Ru-Ua 1.0.rar" MD5 хеш-сумма f5a4787be51a858a1b876495e0966f3c |
|
Отправлено: 23:21, 07-11-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать wareznik3dll, код оформляется не bold'ом, а тегом [code].
Ответ: никак. Другое дело, что сам код кривой. Нет никакой необходимости вызывать «Netsh Wlan Show Interfaces» по четыре раза на каждый чих: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion title Проверка состояния Wi-Fi и уровня его сигнала. :Repeat netsh.exe wlan show interfaces | findstr.exe /i /r /c:"Имя:" /c:"Состояние:" /c:"SSID" /c:"Сигнал:" echo Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала. >nul pause goto :Repeat endlocal exit /b 0 |
Отправлено: 08:16, 08-11-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Iska, Большое спасибо за подсказки по оформлению (уже исправил) и использованию команды "FindStr".
Извините, но мой код кривой по Вашему мнению лишь потому что четыре раза вызывает "Netsh Wlan Show Interfaces" я не считаю что в этом заключается какая то кривизна а вот Ваш код при использовании кодовой страницы 1251 (Windows-1251) выдает: SSID : Бла-бла BSSID : Там-тара-рам Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала. А где же значения? : Количество проверок : 1 Имя : Беспроводное сетевое соединение Состояние : Подключено Сигнал : 78% И зачем мне значение: BSSID : Там-тара-рам |
Последний раз редактировалось wareznik3dll, 11-11-2020 в 14:15. Отправлено: 13:56, 11-11-2020 | #3 |
![]() Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Iska, походу команда "FindStr" понимает только "OEM 866" из кириллицы, потому как мне нужно было использование именно кодовой страницы "Windows-1251" мною и было принято использование именно указанного кода с использованием команды "Find".
Iska, по поводу вызова четыре раза "Netsh Wlan Show Interfaces" объясню кратко, нужно лишь для получения значений для каждой переменной которые в свою очередь нужны для более правильного и красивого (не разбросанного) отображения нужной информации и в нужном на мой взгляд порядке размещения. В итоге: Ничего кривого в своём коде не обнаружил. |
Последний раз редактировалось wareznik3dll, 11-11-2020 в 15:32. Отправлено: 14:26, 11-11-2020 | #4 |
![]() Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Код для проверки состояния Wi-Fi и уровня его сигнала с отображением даты и времени проверки:
@Echo Off SetLocal EnableExtensions & REM Использование дополнительных ключей. Chcp 1251 >Nul Title Проверка состояния Wi-Fi и уровня его сигнала. Mode Con: Cols=78 Lines=11 Set Count=1 :Check For %%n In ("Имя" "Состояние:" " SSID" "Сигнал") Do ( For /f "Tokens=1,* Delims=: " %%a In ('Netsh Wlan Show Interfaces ^| Find /i %%n') Do ( If %%n=="Имя" ( Set "Name=%%b" ) If %%n=="Состояние:" ( Set "State=%%b" ) If %%n==" SSID" ( Set "SSID=%%b" ) If %%n=="Сигнал" ( Set "Signal=%%b" ) ) ) Echo Проверка : %Count% Echo Дата : %Date% Echo Время : %Time% Echo. Echo Имя : %Name% Echo SSID : %SSID% Echo Состояние : %State% Echo Сигнал : %Signal% Echo. Echo Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала. Set /a Count+=1 Pause >Nul Goto Check |
|
Отправлено: 15:22, 11-11-2020 | #5 |
![]() Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Приму и отвечу на любые замечания.
Заранее благодарен всем неравнодушным. |
Отправлено: 15:41, 11-11-2020 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата wareznik3dll:
Цитата wareznik3dll:
Скрытый текст
@echo off
setlocal enableextensions enabledelayedexpansion
title Проверка состояния Wi-Fi и уровня его сигнала.
:Repeat
netsh.exe wlan show interfaces | findstr.exe /i /r /c:"Имя:" /c:"Состояние:" /c:"SSID" /c:"Сигнал:" | find.exe /i /v "BSSID"
echo Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала.
>nul pause
goto :Repeat
endlocal
exit /b 0
|
||
Отправлено: 22:56, 11-11-2020 | #7 |
![]() Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
netsh.exe wlan show interfaces | findstr.exe /i /r /c:"Имя" /c:"Состояние:" /c:" SSID" /c:"Сигнал" "Состояние:" так и нужно оставить потому как есть строка "Состояние размещенной сети: ..." дабы не выдало нам ети две строки вместо одной, так само, как и в случае с "BSSID : ..." и "SSID : ..." Вместо "SSID" нужно вначале просто добавить пробел " SSID" дабы не было сходства с "BSSID" Вместо "Сигнал:" достаточно "Сигнал" Вдобавок отображение инфы в Вашем коде согласитесь выглядит ну очень уж разбросанным Как рас таки для этого в моём коде в цикле и используется 4 раза обращение к "Netsh Wlan Show Interfaces". |
||
Отправлено: 10:23, 12-11-2020 | #8 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата wareznik3dll:
|
|
Отправлено: 11:56, 12-11-2020 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата wareznik3dll:
Цитата wareznik3dll:
Цитата wareznik3dll:
Цитата wareznik3dll:
Скрытый текст
@Echo Off SetLocal EnableExtensions & REM Использование дополнительных ключей. rem Title Проверка состояния Wi-Fi и уровня его сигнала. rem Mode Con: Cols=78 Lines=11 Set Count=1 :Check For /f "Tokens=1,* Delims=: " %%a In ('Netsh Wlan Show Interfaces ^| findstr.exe /i /r /c:"Имя:" /c:"Состояние:" /c:"SSID" /c:"Сигнал:" ^| find.exe /i /v "BSSID"') Do ( If "%%a" equ "Имя" Set "Name=%%b" If "%%a" equ "Состояние" Set "State=%%b" If "%%a" equ "SSID" Set "SSID=%%b" If "%%a" equ "Сигнал" Set "Signal=%%b" ) Echo Проверка : %Count% Echo Дата : %Date% Echo Время : %Time% Echo. Echo Имя : %Name% Echo SSID : %SSID% Echo Состояние : %State% Echo Сигнал : %Signal% Echo. Echo Нажмите любую клавишу для обновления информации о состоянии и уровне сигнала. Set /a Count+=1 Pause >Nul Goto :Check Не нужно четырёх вызовов одной и той же команды с риском получения несогласованных данных. Совсем не нужно. Впрочем, дело Ваше. |
||||
Отправлено: 14:52, 12-11-2020 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Усиление Wi-Fi сигнала | weritos | Сетевое оборудование | 3 | 13-03-2014 08:49 | |
Прочее - Приоритетное использование сигнала WI-FI | 2gan | Сетевые технологии | 36 | 27-06-2013 17:30 | |
Broadcom анонсировала чипы 5G Wi-Fi для устройств начального уровня | OSZone News | Новости железа | 1 | 25-05-2013 16:02 | |
Wireless - Всплеск сигнала Wi-Fi | westland77 | Сетевое оборудование | 6 | 12-07-2012 13:05 | |
Доступ - Слабый уровень сигнала WI-FI | Grafnet | Microsoft Windows Vista | 0 | 10-11-2009 17:51 |
|