中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 18:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已结)求VBS ,自动映射网络磁盘,并改名为 DATA 查看 3,503 回复 28
16 发表于 2007-09-02 17:44 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
Originally posted by wudixin96 at 2007-9-2 17:30:
Set objComputer = CreateObject("Shell.LocalMachine")

Wscript.Echo "Computer name: " & objComputer.MachineName

会提示 Computer name: XXX (还要点一下确定)

我不能实现 这行批处理所要的结果(NET USE D: \\SERVER\%COMPUTERNAME% %COMPUTERNAME% /USER:%COMPUTERNAME%),能不能帮我写一个VBS
17 发表于 2007-09-02 21:00 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
在windows 中文站得到如下代码(加上自己套) 不能正常运行

On error resume next

Set objNet = CreateObject("Wscript.Network")
strCompName = objnet.ComputerName

Set objNetwork = CreateObject("Wscript.Network")
strNewName = "data"


' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "d:","\\server\A"strCompName"$","A"strCompName"","A"strCompName""

' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
18 发表于 2007-09-02 21:02 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
"d:","\\server\A"strCompName"$","A"strCompName"","A"strCompName""


你看看……

字符串相当混乱!
19 发表于 2007-09-02 21:46 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
老大,帮帮我看看下面代码的第十三行

On error resume next

Set objNet = CreateObject("Wscript.Network")
strCompName = objnet.ComputerName
strNewName = "data"
strDriveLetter = "d"

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "d:","\\server\A" & strCompName & "$","A" & strCompName, "A" & strCompName,
' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
20 发表于 2007-09-02 23:41 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
objNetwork.MapNetworkDrive "d:","\\server\A" & strCompName & "$","A" & strCompName, "A" & strCompName,

第3个参数好像不对吧?最后为什么还有,?
第13行……看来是最后一行。
如果你用"D"字符串看看还出错不?不的话应该对的。
21 发表于 2007-09-03 10:52 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
' #test.vbs
Set objNet = CreateObject("Wscript.Network")
strCompName = objnet.ComputerName
strNewName = "data"
strDriveLetter = "d"

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "d:","\\server\A" & strCompName & "$","A" & strCompName, "A" & strCompName
' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
' #完

22 发表于 2007-09-03 11:00 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword])

看清楚这行,如果想要用户名和密码,而不需要UpdateProfile的话,也要把位置给让出来的。

strLocalName, strRemoteName,, strUser, strPassword

中间有两逗号
23 发表于 2007-09-03 11:12 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
只设置strLocalName, strRemoteName就可以啦
24 发表于 2007-09-03 11:16 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
再试试
25 发表于 2007-09-03 11:24 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
是可以啦,谢谢 22F ,但是不能改变此盘的名称


26 发表于 2007-09-03 11:40 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
谢谢slore了,人老了,眼睛都不好使了

[ Last edited by wudixin96 on 2007-9-3 at 11:55 AM ]
27 发表于 2007-09-03 11:48 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Originally posted by wudixin96 at 2007-9-3 11:40:
strDriveLetter

此变量从何而来??


他前面定义了……貌似是d
28 发表于 2007-09-03 12:13 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
问题解决


strDriveLetter = "d:"
29 发表于 2007-09-03 12:25 ·  中国 广东 深圳 电信
中级用户
★★
积分 253
发帖 112
注册 2005-12-20 00:31
20年会员
UID 47500
状态 离线
#OK.VBS
On error resume next

Set objNet = CreateObject("Wscript.Network")
strCompName = objnet.ComputerName
strNewName = "data"
strDriveLetter = "d:"

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "d:","\\server\A" & strCompName & "$",,"A" & strCompName, "A" & strCompName

' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
论坛跳转: