![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 12:11 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 想用VBS来实现搜索局域网共享目录。能力不够请帮忙 |
| 可打印版本 939 / 7 |
| 第1楼 hackhd | 发表于 2008-02-12 03:27 |
| 中级用户 发帖 102 积分 231 | |
|
想用VBS来实现搜索局域网共享目录。能力不够请帮忙 下面的是代码是网上copy来的。还有报错
welcome_msg = "网络连接搜索测试" Set WSHNetwork = WScript.CreateObject("WScript.Network") '创建一个网络对象 Set oPrinters = WshNetwork.EnumPrinterConnections '’创建一个网络打印机连接列表 WScript.Echo "Network printer mappings:" For i = 0 to oPrinters.Count - 1Step2 ' ’显示网络打印机连接情况 WScript.Echo "Port "&oPrinters.Item(i)& " = " & oPrinters.Item(i+1) Next Set colDrives = WSHNetwork.EnumNetworkDrives ' ’创建一个网络共享连接列表 If colDrives.Count = 0 Then MsgBox "没有可列出的驱动器。" vbInformation + vbOkOnly,welcome_msg Else strMsg = "当前网络驱动器连接: " &CRLF Fori=0To colDrives.Count - 1 Step 2 strMsg = strMsg & Chr(13)&Chr(10)&colDrives(i) & Chr(9)&colDrives(i+1) Next MsgBox strMsg, vbInformation + vbOkOnly, welcome_msg '显示当前网络驱动器连接 End If |
|
| 第2楼 slore | 发表于 2008-02-12 04:42 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
welcome_msg = "网络连接搜索测试"
Set WSHNetwork = WScript.CreateObject("WScript.Network") '创建一个网络对象 Set oPrinters = WshNetwork.EnumPrinterConnections '创建一个网络打印机连接列表 WScript.Echo "Network printer mappings:" For i = 0 To oPrinters.Count - 1 Step 2 '显示网络打印机连接情况 WScript.Echo "Port " &oPrinters.Item(i) & " = " & oPrinters.Item(i + 1) Next Set colDrives = WSHNetwork.EnumNetworkDrives '创建一个网络共享连接列表 If colDrives.Count = 0 Then MsgBox "没有可列出的驱动器。" vbInformation + vbOkOnly,welcome_msg Else strMsg = "当前网络驱动器连接: " & vbCrLf For i = 0 To colDrives.Count - 1 Step 2 strMsg = strMsg & Chr(13) & Chr(10) & colDrives(i) & Chr(9) & colDrives(i + 1) Next MsgBox strMsg, vbInformation + vbOkOnly,welcome_msg '显示当前网络驱动器连接 End If 我没有局域网。。。无法测试…… |
|
| 第3楼 hackhd | 发表于 2008-02-12 17:31 |
| 中级用户 发帖 102 积分 231 | |
|
vbInformation + vbOkOnly,welcome_msg '这句还是报错
我在虚拟机上面把一个盘共享了,在我机器上能够搜索打开虚拟机共享的盘。 但是用VBS它还是检测不出来 没有可列出的驱动器 |
|
| 第4楼 slore | 发表于 2008-02-12 17:39 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
那句。。。你应该知道msgbox的参数吧
welcome_msg = "网络连接搜索测试" Set WSHNetwork = WScript.CreateObject("WScript.Network") '创建一个网络对象 Set oPrinters = WshNetwork.EnumPrinterConnections '创建一个网络打印机连接列表 WScript.Echo "Network printer mappings:" For i = 0 To oPrinters.Count - 1 Step 2 '显示网络打印机连接情况 WScript.Echo "Port " &oPrinters.Item(i) & " = " & oPrinters.Item(i + 1) Next Set colDrives = WSHNetwork.EnumNetworkDrives '创建一个网络共享连接列表 If colDrives.Count = 0 Then MsgBox "没有可列出的驱动器。",vbInformation + vbOkOnly,welcome_msg Else strMsg = "当前网络驱动器连接: " & vbCrLf For i = 0 To colDrives.Count - 1 Step 2 strMsg = strMsg & Chr(13) & Chr(10) & colDrives(i) & Chr(9) & colDrives(i + 1) Next MsgBox strMsg, vbInformation + vbOkOnly,welcome_msg '显示当前网络驱动器连接 End If |
|
| 第5楼 hackhd | 发表于 2008-02-12 18:22 |
| 中级用户 发帖 102 积分 231 | |
|
只是只是。我模似局域网有别的机器共享了盘,连打印机都共享了,运行这段VBS还是一样没有找到
|
|
| 第6楼 slore | 发表于 2008-02-12 18:26 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
那就是对象问题……我是单机没有办法测试。。。重新找找代码对象吧。
|
|
| 第7楼 zcnvnv | 发表于 2008-02-12 18:26 |
| 初级用户 发帖 36 积分 114 | |
|
用for取ipconfig的本机IP前3段,再用for向*.*.*.1~255挨个view
代码懒的写了,自己动手丰衣足食。。 |
|
| 第8楼 hackhd | 发表于 2008-02-12 18:46 |
| 中级用户 发帖 102 积分 231 | |
|
Wscrīpt.NetWork —> 提供网络连接和远程打印机管理的函数。(其中,所有scrīpting对象都存放在SCRRUN.DLL文件中,所有的Wscrīpt对象都存放在WSHOM.ocx文件中。)
找了一会,这个对象应该是正确的, |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |