1

我有一个几乎可以满足我要求的脚本,除了我希望它保存到“%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
4

2 回答 2

2

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

于 2013-01-16T21:23:08.397 回答
1

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

如果要执行此操作,则需要通过右键单击“我的电脑”中的空白区域并选择“添加网络位置”来手动创建文件夹位置。创建网络位置后,右键单击它并选择“复制”。

将它保存在您的服务器上的某个位置,您将在该位置存储您想要为人们的机器编写脚本的所有网络位置。现在在您的脚本中,您将网络位置文件夹从您的服务器复制到“%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
于 2013-06-17T06:56:45.587 回答