我将此NETSH命令(如下所示)设置为变量%connectionname%,并且我需要在以后使用它断开与互联网的连接,然后再次使用它重新连接到互联网。
set %connectionname%=NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID"`它显示变量在断开连接后为空,我不确定为什么,有人能帮我弄清楚为什么没有显示吗?
发布于 2013-05-16 08:55:56
不能使用该语法将变量设置为命令的输出。您应该使用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。
有关如何用于/F的详细信息,请在命令提示符下键入HELP FOR或FOR /?。
https://stackoverflow.com/questions/16258331
复制相似问题