VBS - 获取程序文件的文件夹路径?

问题描述:

我打算在vbs中获取程序文件文件夹。试过这个没有运气;VBS - 获取程序文件的文件夹路径?

SET wsc = CreateObject("WScript.Shell") 
SET fso = WScript.CreateObject("Scripting.FileSystemObject") 
targetpath = wsc.SpecialFolders("ProgramFiles") & "\Google\Chrome\Application\chrome.exe" 

它刚刚得到的C:\目录。什么是正确的方法来做到这一点?

+3

应仅标记'vbscript'。然而,代替'targetpath = wsc.SpecialFolders(“ProgramFiles”)&...'尝试'targetpath = wsc.ExpandEnvironmentStrings(“%ProgramFiles%”)&...' – JosefZ 2014-11-06 22:06:07

TechNet文章显示特殊文件夹列表。 Program Files不在其中。这是Windows脚本宿主的限制。同样,下面显示的是空白弹出框

SET wsc = CreateObject("WScript.Shell") 
msgbox wsc.SpecialFolders("Awesome") 

所以相反,您至少有2个选项。

Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.Namespace(&H26&) 
Set objFolderItem = objFolder.Self 
msgbox objFolderItem.Path 
  • & H26 & - Program Files文件
  • & H2A & - 程序文件(x86)

,我会提供的是使用环境变量,例如JosefZ提出另一种选择。

targetpath = wsc.ExpandEnvironmentStrings("%ProgramFiles%") & "..." 
targetpath = wsc.ExpandEnvironmentStrings("%ProgramFiles(x86)%") & "..." 
+1

可以包含已经建议的替代方法只要有适当的归属,其他人(特别是当他们仅作为评论提供时)。 – 2014-11-07 10:10:59