VB脚本来映射网络位置

时间:2013-01-16 21:18:23

标签: vbscript

我有一个脚本几乎可以做我想要的,除了我希望它将快捷方式保存到“%userprofile%\ appdata \ Roaming \ Microsoft \ Windows \ Network Shortcuts”而不是桌面。 在此先感谢您的帮助!

Set objShell=Wscript.CreateObject("Wscript.shell")
strDesktopFolder=objShell.SpecialFolders("Desktop") & _
"\"
Set objShortcut=objShell.CreateShortcut(strDesktopFolder & _
"Company Files.lnk")
objShortCut.TargetPath = "\\server\Folder"
objShortCut.Description = "Company Files Description"
objShortCut.Save

2 个答案:

答案 0 :(得分:2)

您可以使用objShell.ExpandEnvironmentStrings("%USERPROFILE%")%userprofile%环境变量中检索值。

答案 1 :(得分:1)

这将在您想要的位置添加一个快捷方式,该位置将显示在“我的电脑”中。但是,脚本不允许文件夹位置显示左侧浏览器导航菜单,如网络驱动器。

如果您想这样做,您需要通过右键单击“我的电脑”中的空白区域并选择“#34;添加网络位置”来手动创建“文件夹位置”。创建网络位置后,右键单击它并选择复制。

将其保存在服务器上的某个位置,您可以将要编写脚本的所有网络位置存储到人机。现在,在您的脚本中,您将网络位置文件夹从服务器复制到"%userprofile%AppData \ Roaming \ Microsoft \ Windows \ Network Shortcuts"

这将在“我的电脑”中添加位置,并将其添加到导航窗格,就像映射的驱动器一样。

这是你能做到这一点的唯一方法。原因是网络位置与实际文件夹没有什么不同。只是文件夹上的路径指向其他地方。这并不是所有脚本在尝试时都会尝试创建的快捷方式。

如果您只想在“我的电脑”中添加快捷方式,这是一个脚本。否则请按照我的其他方法。

Const NETHOOD = &H13&

Set objWSHShell = CreateObject("Wscript.Shell")
Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.Namespace(NETHOOD)
Set objFolderItem = objFolder.Self
strNetHood = objFolderItem.Path

strShortcutName = "Location Name"
strShortcutPath = "\\Server\Share"

Set objShortcut = objWSHShell.CreateShortcut _
(strNetHood & "\" & strShortcutName & ".lnk")
objShortcut.TargetPath = strShortcutPath
objShortcut.Save