Windows 映射网络驱动器的脚本
我希望能够从笔记本电脑连接到(wifi)网络硬盘,但只是偶尔。如果在WinXP explorer中使用“映射网络驱动器”命令,则必须输入驱动器的IP地址和名称,然后输入路由器名称及其密码。太多不记得了 我正在寻找一种编写此活动脚本的方法(使用任何语言),例如:Windows 映射网络驱动器的脚本,windows,language-agnostic,scripting,Windows,Language Agnostic,Scripting,我希望能够从笔记本电脑连接到(wifi)网络硬盘,但只是偶尔。如果在WinXP explorer中使用“映射网络驱动器”命令,则必须输入驱动器的IP地址和名称,然后输入路由器名称及其密码。太多不记得了 我正在寻找一种编写此活动脚本的方法(使用任何语言),例如: map Z: \\10.0.1.1\DRIVENAME "ROUTERNAME\PW" 我并不特别在乎剧本是用什么语言写的。顺便说一句,我知道DOS'subst'命令,但由于密码保护,我认为在这种情况下不能使用它。使用net use命令
map Z: \\10.0.1.1\DRIVENAME "ROUTERNAME\PW"
我并不特别在乎剧本是用什么语言写的。顺便说一句,我知道DOS'subst'命令,但由于密码保护,我认为在这种情况下不能使用它。使用
net use
命令:
net use Z: \\10.0.1.1\DRIVENAME
编辑1:此外,我认为密码应该简单地附加:
net use Z: \\10.0.1.1\DRIVENAME PASSWORD
您可以通过以下途径了解有关此命令及其参数的更多信息:
net use ?
编辑2:正如Tomalak在评论中提到的,您可以稍后通过
net use Z: \delete
请尝试使用命令这是否无效(假设“ROUTERNAME”是路由器期望的用户名)
为什么不映射网络驱动器,但取消选择“登录时重新连接”?仅当您尝试访问驱动器时,驱动器才会连接。请注意,如果某些应用程序指向它,它们将失败,但如果您直接通过Windows资源管理器访问文件,这非常有效。答案对我来说非常有效(+1) 我只需要稍微修改一下就可以了,我不需要密码——这是公司域名:
Option Explicit
Dim l: l = "Z:"
Dim s: s = "\\10.10.10.1\share"
Dim Network: Set Network = CreateObject("WScript.Network")
Dim CheckDrive: Set CheckDrive = Network.EnumNetworkDrives()
Dim DriveExists: DriveExists = False
Dim i
For i = 0 to CheckDrive.Count - 1
If CheckDrive.Item(i) = l Then
DriveExists = True
End If
Next
If DriveExists = False Then
Network.MapNetworkDrive l, s, False
Else
MsgBox l + " Drive already mapped"
End If
或者,如果要断开驱动器的连接:
For i = 0 to CheckDrive.Count - 1
If CheckDrive.Item(i) = l Then
WshNetwork.RemoveNetworkDrive CheckDrive.Item(i)
End If
Next
这里是的JScript变体
//在带有链接的MapNetworkDrive方法的MSDN页面下方,如果Microsoft像往常一样破坏它,则指向now文档的路径。
// https://msdn.microsoft.com/en-us/library/8kst88h6(v=vs.84)
//MSDN库->Web开发->脚本->JScript和VBScript->Windows脚本->Windows脚本主机->参考(Windows脚本主机)->方法(Windows脚本主机)->MapNetworkDrive方法
var WshNetwork=WScript.CreateObject('WScript.Network');
函数localNameInUse(localName){
var driveIterator=WshNetwork.EnumNetworkDrives();
for(var i=0,l=driveIterator.length;i
要卸载它,有点混淆的删除选项“net use z:/delete”不能简单地添加密码,只能添加用户名。在“net use”中,它说:net use[devicename |*][\\computername\sharename[\volume][password |*]]。。。根据文档的要求,在密码后面加一个空格应该是有效的。
Option Explicit
Dim l: l = "Z:"
Dim s: s = "\\10.10.10.1\share"
Dim Network: Set Network = CreateObject("WScript.Network")
Dim CheckDrive: Set CheckDrive = Network.EnumNetworkDrives()
Dim DriveExists: DriveExists = False
Dim i
For i = 0 to CheckDrive.Count - 1
If CheckDrive.Item(i) = l Then
DriveExists = True
End If
Next
If DriveExists = False Then
Network.MapNetworkDrive l, s, False
Else
MsgBox l + " Drive already mapped"
End If
For i = 0 to CheckDrive.Count - 1
If CheckDrive.Item(i) = l Then
WshNetwork.RemoveNetworkDrive CheckDrive.Item(i)
End If
Next