Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 列出我周围所有的wifi_Vbscript_Scripting_Command_Wifi - Fatal编程技术网

Vbscript 列出我周围所有的wifi

Vbscript 列出我周围所有的wifi,vbscript,scripting,command,wifi,Vbscript,Scripting,Command,Wifi,我刚刚开始学习vbs,所以我是新手。我需要帮助来展示我周围所有可用的wifi网络。我正在尝试将所有内容放在一个msgBox中。这是到目前为止我的代码 Set objShell = CreateObject("Wscript.Shell") strCommand = "netsh wlan show network mode=bssid " Set objExecObject = objShell.Exec(strCommand) Do While Not

我刚刚开始学习vbs,所以我是新手。我需要帮助来展示我周围所有可用的wifi网络。我正在尝试将所有内容放在一个msgBox中。这是到目前为止我的代码

Set objShell = CreateObject("Wscript.Shell")
strCommand = "netsh wlan show network mode=bssid "
Set objExecObject = objShell.Exec(strCommand)

Do While Not objExecObject.StdOut.AtEndOfStream
    strText = objExecObject.StdOut.ReadAll()
Loop

 
Wscript.Echo strText

这对我来说很好,只是我无法在一个msgbox中看到所有wifi名称。它在中间切。另外,请确保脚本是vbscript。它不能用HTA制造。有人能帮我吗?谢谢大家!

您可以执行类似操作,将数据结果保存到文本文件而不是MsgBox中:

Set objShell = CreateObject("Wscript.Shell")
strCommand = "cmd /c netsh wlan show network mode=bssid>%Appdata%\BSSID.txt & start /MAX Notepad %Appdata%\BSSID.txt"
objShell.Run strCommand,0,True

编辑:2020年11月9日

您可以尝试使用此vbscript:

Const ForReading = 1
Set objShell = CreateObject("Wscript.Shell")
strCommand = "cmd /c netsh wlan show network mode=bssid>%Appdata%\BSSID.txt"
objShell.Run strCommand,0,True
ResultFile = objShell.ExpandEnvironmentStrings("%Appdata%\BSSID.txt")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(ResultFile, ForReading)
strText  = ObjFile.ReadAll
arrLines = Split(strText,vbCrlf)

Set oReg = New RegExp
With oReg
    .Global = True
    .Pattern = "\r\n" 'vbCrLf
    lCount = .Execute(strText).Count + 1
End With

'WScript.Echo lCount

For i = 4 to lCount/2 + 2
    M1 = M1 + arrLines(i) & vbcrlf
Next
    
For i = lCount/2 + 2 to lCount - 1
    M2 = M2 + arrLines(i) & vbcrlf
Next

wscript.echo M1
wscript.echo M2

我会把结果写进一个文本文件。这能回答你的问题吗@谢谢你的帮助,但我不想要hta。我需要一个vbs。谢谢,如果您已经从
StdOut
捕获了输出,并且仅使用命令行
>myfile.txt在脚本上进行了回显,则应创建
StdOut
的内容并将其添加到该文件中。如果这不是你要问的,那么请解释一下有什么不同。因为一开始,我不知道如何使用它。但多亏了你的解释,代码才成为我的最爱。谢谢你的建议和快速回复,但我希望用户能在一个信息框中看到所有内容。即使你使用环路或其他方式为每个msgBox指定一个wifi名称,我仍然可以。现在我得到了你的建议,我觉得自己在设计上很强大,但如果有人能帮我实现我之前的要求,我仍然很感激。谢谢大家。@coder9927试一试第二个vbscript,并告诉我它在你们这方面是如何工作的?这正是我曾经尝试过的,效果太好了。谢谢你这是个小问题,但我想我能克服。