Variables 显示NETSH命令

Variables 显示NETSH命令,variables,findstr,netsh,ssid,Variables,Findstr,Netsh,Ssid,我将此NETSH命令(如下)设置为变量%connectionname%,我需要稍后使用它断开与internet的连接,然后再次使用它重新连接到internet set %connectionname%=NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID"` 这表明变量在断开与internet的连接后为空,我不知道为什么, 有人能帮我弄清楚为什么没有显示吗?您不能使用该语法将变量设置为命令的输出。您应该使用FOR/F命令,在in()子句中用单引号括

我将此NETSH命令(如下)设置为变量%connectionname%,我需要稍后使用它断开与internet的连接,然后再次使用它重新连接到internet

set %connectionname%=NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID"`
这表明变量在断开与internet的连接后为空,我不知道为什么,
有人能帮我弄清楚为什么没有显示吗?

您不能使用该语法将变量设置为命令的输出。您应该使用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


从命令提示符键入
帮助以获取有关如何使用FOR/F的详细信息。

不能使用该语法将变量设置为命令的输出。您应该使用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 FOR
FOR/?
以获取有关如何使用FOR/F的更多信息。

谢谢我仍然是新手,了解任何高级信息,谢谢你的帮助,谢谢我不知道你不能使用该语法将变量设置为命令的输出,谢谢。嘿,我刚刚测试了代码,它已经成功了找到确切的SSID并将其设置为变量。现在我可以在批处理中自动断开并重新连接到internet,非常完美。谢谢@不要忘记接受一个能解决你问题的好答案。单击答案左上角附近的复选标记。这个动作让别人知道你的问题已经得到了回答,它会给你2点声誉积分,给回答者15点代表积分。每个答案只能接受一个问题。一旦你达到15个代表点,你就有权对任何数量的问题和答案进行投票。提问投票给提问者5分,回答投票给10分。你可以投票给你觉得有用的任何答案。谢谢我仍然是新手状态任何先进的,所以谢谢你的帮助和感谢我不知道你不能设置一个变量到一个命令的输出使用该语法,所以谢谢。嘿,我刚刚测试了代码,它找到了我的确切的SSID,并设置为变量。现在我可以自动断开连接和在我的批次中从互联网重新连接,非常完美。谢谢@不要忘记接受一个能解决你问题的好答案。单击答案左上角附近的复选标记。这个动作让别人知道你的问题已经得到了回答,它会给你2点声誉积分,给回答者15点代表积分。每个答案只能接受一个问题。一旦你达到15个代表点,你就有权对任何数量的问题和答案进行投票。提问投票给提问者5分,回答投票给10分。只要你觉得有用,你就可以投更多的票。