【问题标题】:VB Script to map network location用于映射网络位置的 VB 脚本
【发布时间】:2013-06-17 14:56:45
【问题描述】:

我有一个脚本,它几乎可以满足我的需求,但我希望它将快捷方式保存到“%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

【问题讨论】:

标签: vbscript


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-08
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多