首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将命令的输出分配给Windows 10 shell脚本中的变量

将命令的输出分配给Windows 10 shell脚本中的变量
EN

Stack Overflow用户
提问于 2017-11-07 03:36:54
回答 1查看 133关注 0票数 0

我正在尝试检测我的Windows 10膝上型计算机连接到的SSID,并根据检测到的SSID来决定该做什么。我能够通过以下命令检测SSID:

代码语言:javascript
复制
netsh wlan show interfaces | findstr /r "^....SSID"

此命令输出如下:

代码语言:javascript
复制
    SSID                   :my_ssid    

我试图使用以下命令将这个字符串输出赋值给一个变量:

代码语言:javascript
复制
set ssid=
for /f %%i in ('netsh wlan show interfaces | findstr /r "^....SSID"') do set ssid=%%i
echo SSID is "%ssid%"

但是,我一直收到以下错误消息:

代码语言:javascript
复制
| was unexpected at this time.

有人知道为什么吗?

另外,是否可以去掉"SSID“、":”和空格的netsh输出,以便我只获得"my_ssid“作为输出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-07 03:46:29

for循环中使用管道时,需要使用^转义。否则,解释器会认为您正在将整个循环一直到那个点,而for /f %%i in ('netsh wlan show interfaces是无效的语法。

代码语言:javascript
复制
for /f %%i in ('netsh wlan show interfaces ^| findstr /r "^....SSID"') do set ssid=%%i
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47149561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档