【问题标题】:Find Shortcut Path Vbs查找快捷路径 Vbs
【发布时间】:2017-07-29 10:18:42
【问题描述】:

我正在寻找一个获取快捷路径的 VBS 浏览功能。不幸的是,我尝试的所有浏览功能都只有文件夹路径,但没有快捷路径。我可以在对话框中看到快捷方式,但无法获取它的路径。

有人有这种功能吗?

strComputer = "."
Const ALL_OPTIONS = &H4000

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder (0, "Select a folder:",ALL_OPTIONS,(16))

If objFolder Is Nothing Then
    Wscript.Quit
Else
    Set objFolderItem = objFolder.Self
End If

objPath = objFolderItem.Path

这个函数给出了一个真实的文件夹路径,但是当我用它选择一个快捷方式时,它返回null

如何通过浏览文件夹功能获取快捷路径?

【问题讨论】:

  • 我什么都听不懂,请详细说明您的具体问题。

标签: vbscript wmi


【解决方案1】:

使用文件或文件夹对象的 .ShortPath 属性:

Option Explicit

Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject")
Dim f
Set f = goFS.GetFolder(".") : WScript.Echo f.Path, f.ShortPath
Set f = goFS.GetFile(WScript.ScriptFullName) : WScript.Echo f.Path, f.ShortPath

输出:

cscript //nologo "45388073-pi pa po.vbs"
C:\Users\eh\work C:\Users\eh\work
C:\Users\eh\work\45388073-pi pa po.vbs C:\Users\eh\work\453880~1.VBS

更新评论:

给定:

objPath = objFolderItem.Path ' it's a string not an object!

sShortPath,和goFS,做:

sShortPath = goFS.GetFolder(objPath).ShortPath

【讨论】:

  • 我补充了一些解释。
猜你喜欢
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多