创建一个在运行时输出网络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
”。
答案 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