我需要一个命令来显示在 vbs 中执行 cmd 参数的结果。我的代码为
<script language="VBScript" type="text/vbscript">
set objShell = CreateObject("WScript.Shell")
strOut=""
sub start
cmdarg="%comspec% /c netsh wlan show hosted "
set objExCmd = objShell.Exec(cmdarg)
strOut=objExCmd.StdOut.ReadAll
Set regEx = New RegExp
regEx.Pattern = "[\f\n\r\v]+"
regEx.Global = True
regEx.Multiline = True
strOut = regEx.Replace(strOut, "<br>")
TraceOut.innerHTML= strOut
end sub
</script>
这列出了执行后的所有输出,如下所示:
托管网络设置
Mode : Allowed
SSID name : "MyWiFi"
Max number of clients : 10
Authentication : WPA2-Personal
Cipher : CCMP
托管网络状态
Status : Not started
我只需要显示 SSID 名称。即,“MyWiFi”每当我更改 ssid 名称时它都会更改。所以它并不总是“MyWiFi”
这是完整的 HTA 程序
<head><title>Hosted Network</title>
<HTA:APPLICATION ID="oHTA";
APPLICATIONNAME="Hosted Network";
BORDER="thin";
BORDERSTYLE="normal";
SINGLEINSTANCE="no";
>
</head><body bgcolor="#E8E8E8" >
<script language="VBScript" type="text/vbscript">
sub subfn
set objShell = CreateObject("WScript.Shell")
cmdarg="%comspec% /c netsh wlan show hosted"
set strOut = objShell.Exec(cmdarg)
Dim re : Set re = New RegExp
re.Multiline = True
re.Pattern = "^SSID\s+name\s+:\s+""([^""]+)"""
strOut = "SSID: >" & re.Execute(strOut)(0).Submatches(0) & "<"
TraceOut.innerHTML= strOut
end sub
</script>
<input type="Button" name="B1" value="Find" onclick="subfn">
<div id=TraceOut></div></body>
</html>