Есть ли переменная для подключенного wlan? - PullRequest
0 голосов
/ 24 декабря 2018

Я начал писать этот небольшой пакетный файл, где я получаю все данные WLAN:

netsh wlan show profile (name) key=clear

Это не проблема, но я спрашиваю, есть ли переменная, например:

%CurrentWlan%

так что я могу сделать:

netsh wlan show profile %CurrentWlan% key=clear >wlan.txt 

1 Ответ

0 голосов
/ 24 декабря 2018

Вот возможное решение:

@echo off

for /f "eol=B tokens=*" %%A IN ('netsh wlan show interfaces ^| findstr SSID') do (
    for /f "delims=: tokens=2" %%A IN ("%%A") do (
        for /f "tokens=*" %%A IN ("%%A") do (
            netsh wlan show profiles "%%A" key=clear >wlan.txt
        )
    )
)

, которое я собираюсь разбить:

  • Сначала мы проанализируем выходные данные команды netsh wlan show interfaces, ища SSID строка.Поскольку есть также строка, содержащая BSSID, мы игнорируем ее с помощью eol=B.
    • Теперь мы хотим проанализировать значение после символа :, поэтому мы устанавливаем его как разделитель.Теперь мы можем получить доступ к имени сети, установив tokens в 2.
      • Мы удаляем все ненужные пробелы в результате с помощью другого цикла for, задающего tokens параметр для *.
        • Итак, теперь нам нужна вся информация о подключенной в данный момент сети (%%A).Перенаправляем вывод на wlan.txt.
...