Windows 如何将当前连接的wifi网络的SSID分配给批处理脚本中的变量?

Windows 如何将当前连接的wifi网络的SSID分配给批处理脚本中的变量?,windows,batch-file,variables,cmd,command-prompt,Windows,Batch File,Variables,Cmd,Command Prompt,我正在尝试编写一个批处理脚本,该脚本将断开wifi网络的连接,并在一段时间后重新连接到同一网络。在这种情况下,它必须记住以前连接的网络SSID,就像将其存储到变量中一样 netsh wlan disconnect timeout 5 netsh wlan connect name=PreviousNetwork 我可以从中找到SSID名称 netsh wlan show networks interface="Wi-Fi" mode=ssid 但是我如何存储它呢?这里有一

我正在尝试编写一个批处理脚本,该脚本将断开wifi网络的连接,并在一段时间后重新连接到同一网络。在这种情况下,它必须记住以前连接的网络SSID,就像将其存储到变量中一样

netsh wlan disconnect
timeout 5
netsh wlan connect name=PreviousNetwork
我可以从中找到SSID名称

netsh wlan show networks interface="Wi-Fi" mode=ssid

但是我如何存储它呢?

这里有一个方法,试一试:

@echo关闭
标题如何将当前连接的wifi网络的SSID分配给批处理脚本中的变量
对于/f“delims=:令牌=2”%%n英寸(
'netsh wlan show interface name=“Wi-Fi”^查找/i“PROFIL”'
)不设置“网络=%%n”
呼叫:修剪“%Network%”已连接\u SSID
回显当前连接的SSID为:“%已连接\u SSID%”
echo是否要断开与此SSID“%Connected\u SSID%”的连接?
暂停
cls和回声(&C)颜色0C
无线局域网断开连接
超时/T 5/NoBreak>nul
cls和回声(&C)颜色0A
echo是否要重新连接到此SSID:“%Connected\u SSID%”?
暂停
netsh wlan connect name=“%Connected\u SSID%”
暂停和退出
::---------------------------------------------------------------------------
:修剪
(
echo Wscript.echo修剪(“%1”^)
)>%tmp%\%~n0.vbs
@对于('Cscript/nologo”%tmp%\%~n0.vbs“')中的/f“delims=“%%a”,请设置“%2=%%a”
退出/b
::---------------------------------------------------------------------------

这是否回答了您的问题?vbscript有什么问题?它不必要地强制您写入磁盘。只需将修剪函数更改为:
for/f“tokens=*”(“%1”)中的%%\uDo SET“%2=%%\u0”
不需要VBScript或写入磁盘。@BenPersonick这只适用于左修剪??我想左右修剪!哦,很抱歉我在手机上写了这封信,没有看到你的回复,我只是写了一点代码,请改用这封信:
对于/f“tokens=*”(“%1”)中的%\\确实设置“%2=%~nx”
无需使用VB或写入磁盘,这将为您的目的左右调整。TBF您甚至不需要在('netsh wlan show interface name=“Wi-Fi”^ find/i“PROFIL”')中调用/f“delims=:tokens=2“%%”的标签,请设置“Network=%~nx”此外,实际上,由于SSID本身不能包含空格,您实际上可以将结果传递给标签调用,而不使用引号,然后返回,因为%1将只是连续的非空格字符。