2016-10-26 7 views
0

При создании программы, которая выводит SSID сети при запуске, я столкнулся с проблемой, когда выводилась только часть SSID. Команда, которую я использовал для поиска и вывода SSID, была:Команда сохраняет только одну часть SSID сети?

cd "% USERPROFILE% \ Desktop" & для/f "tokens = 2 * delims =:"% A in ('netsh wlan show interface^| findstr " SSID "^ | findstr/v" BSSID "') установить A =% A

Если, например, SSID моей сети был« Wi-Fi »Боба, команда выводит« Боба », а не« Вифти Боба ». Если бы кто-нибудь мог сказать мне, что я делаю неправильно, или если есть лучший способ сделать это, я бы хотел узнать. Спасибо за помощь!

ответ

0

Проблема есть в вариантах for /f. В пункте tokens=2* не предлагается получить второй и следующие токены в заменяемый параметр for%A, он извлекает второй токен в %A, а третий и следующие токены - в %B. Это эквивалентно

for /f "tokens=2,* ..." 

Я не могу проверить код (без WLAN), но это shuld решить проблему

for /f "tokens=1* delims=: " %A ..... do set "networkName=%B" 

теперь имя поля (лексема в левой части толстой кишки) хранится в %A, а полное имя (от второго до конца токенов в строке) хранится в %B