中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 00:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 想用VBS来实现搜索局域网共享目录。能力不够请帮忙
楼 主 想用VBS来实现搜索局域网共享目录。能力不够请帮忙 发表于 2008-02-12 03:27 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
UID 109557
性别 男
状态 离线
下面的是代码是网上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 发表于 2008-02-12 04:42 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
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 发表于 2008-02-12 17:31 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
UID 109557
性别 男
状态 离线
vbInformation + vbOkOnly,welcome_msg '这句还是报错

我在虚拟机上面把一个盘共享了,在我机器上能够搜索打开虚拟机共享的盘。

但是用VBS它还是检测不出来 没有可列出的驱动器
4 发表于 2008-02-12 17:39 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
那句。。。你应该知道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 发表于 2008-02-12 18:22 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
UID 109557
性别 男
状态 离线
只是只是。我模似局域网有别的机器共享了盘,连打印机都共享了,运行这段VBS还是一样没有找到
6 发表于 2008-02-12 18:26 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
那就是对象问题……我是单机没有办法测试。。。重新找找代码对象吧。
7 发表于 2008-02-12 18:26 ·  中国 陕西 汉中 电信
初级用户
积分 114
发帖 36
注册 2007-12-22 17:42
UID 106486
性别 男
状态 离线
用for取ipconfig的本机IP前3段,再用for向*.*.*.1~255挨个view
代码懒的写了,自己动手丰衣足食。。
8 发表于 2008-02-12 18:46 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
UID 109557
性别 男
状态 离线
Wscrīpt.NetWork —> 提供网络连接和远程打印机管理的函数。(其中,所有scrīpting对象都存放在SCRRUN.DLL文件中,所有的Wscrīpt对象都存放在WSHOM.ocx文件中。)

找了一会,这个对象应该是正确的,
论坛跳转: