显示NETSH命令



我有这个NETSH命令(下面)设置为一个变量,%connectionname%,我需要使用它从互联网断开连接,然后再稍后重新连接到互联网。

set %connectionname%=NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID"`

它显示,从互联网断开后,变量是空白的,我不知道为什么,有人能帮我弄清楚为什么这不是显示?

不能使用该语法将变量设置为命令的输出。您应该使用FOR/F命令,在in()子句中将命令括在单引号中,以表示您想要执行命令。

我假设您想要变量中的值,而不是SSID标签。因此需要将FOR/F分隔符设置为冒号和空格,并将令牌设置为2。此外,只有在希望展开值时,才能将变量名以百分比括起来。当您想要设置变量时,不能使用百分比。

下面是可以从命令行运行的完整命令:

for /f "tokens=2 delims=: " %A in ('netsh wlan show interface ^| findstr "^....SSID"') do set "connectionname=%A"

如果要在批处理文件中包含该命令,则必须将百分比加倍:%A变为%%A

在命令提示符中输入HELP FORFOR /?以获取有关如何使用for/f的更多信息

相关内容

  • 没有找到相关文章

最新更新