2014-11-06 113 views
1

我打算在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

回答

3

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

相關問題