命令只保存网络SSID的一部分?

时间:2016-10-26 07:18:07

标签: windows cmd ssid

创建一个在运行时输出网络SSID的程序,我遇到的问题是只输出SSID的一部分。我用来查找和输出SSID的命令是:

cd "%USERPROFILE%\Desktop" & for /f "tokens=2* delims=: " %A in ('netsh wlan show interface ^| findstr "SSID" ^| findstr /v "BSSID"') do set A=%A

例如,如果我的网络SSID为“Bob's Wifi”,则该命令会输出“Bob's”而不是“Bob's Wifi”。

1 个答案:

答案 0 :(得分:0)

问题在于for /f的选项。 tokens=2*条款并不要求将第二个和后续标记检索到for可替换参数%A中,它会将第二个标记检索到%A,将第三个标记和后续标记检索到%B。它相当于

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

我无法测试代码(没有wlan),但是这个解决了问题

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

现在字段名称(冒号左侧的标记)存储在%A中,全名(第二行中的结束标记)存储在%B