我试图检测我的Windows 10笔记本电脑连接的SSID,并根据检测到的SSID决定做什么。我可以通过以下命令检测SSID:
netsh wlan show interfaces | findstr /r "^....SSID"
此命令输出如下:
SSID :my_ssid
我尝试使用以下命令将此字符串输出分配给变量:
set ssid=
for /f %%i in ('netsh wlan show interfaces | findstr /r "^....SSID"') do set ssid=%%i
echo SSID is "%ssid%"
但是,我一直收到以下错误消息:
| was unexpected at this time.
有谁知道为什么?
此外,是否可以剥离" SSID","的网格输出:"和空白,以便我只得到#34; my_ssid"作为输出?
答案 0 :(得分:1)
在for
循环中使用管道时,需要使用^
对其进行转义。否则,翻译人员会认为你将整个循环推到了那一点,而for /f %%i in ('netsh wlan show interfaces
并不是有效的语法。
for /f %%i in ('netsh wlan show interfaces ^| findstr /r "^....SSID"') do set ssid=%%i