2012-09-10 38 views
0

在我的工作的應用程序數據文件夾,我們有我們使用(Mikogo的),其安裝到在App Data文件夾的用戶目錄,而不是到Program Files文件夾的應用程序。VBS檢查多個用戶

Mikogo發佈了一個更新,所以我想知道它安裝在哪臺電腦上,以便我可以更新軟件。爲此,我想通過計算機列表解析並查看計算機上每個用戶的App Data文件夾中是否存在「Mikogo 4」文件夾。

我知道如何通過計算機列表分析,我知道如何檢查,看是否有文件夾存在,我甚至知道如何獲得一個App Data文件夾的位置......我的問題是,我不知道如何獲取我目前正在檢查的計算機上每個用戶的App Data文件夾的位置。

有沒有辦法讓我檢查每個單獨的應用程序數據文件夾?

回答

0

像這樣的東西可能會做:

Const regProfilesDir = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory" 
Const appDataDir  = "AppData\Roaming" 

Set sh = CreateObject("WScript.Shell") 
Set fso = CreateObject("Scripting.FileSystemObject") 

profilesDir = sh.ExpandEnvironmentStrings(sh.RegRead(regProfilesDir)) 

For Each user In fso.GetFolder(profilesDir).SubFolders 
    If fso.FolderExists(fso.BuildPath(user.Path, appDataDir & "\Mikogo 4")) Then 
    WScript.Echo "Application folder exists for user " & user & "." 
    End If 
Next 

但是,Vista之前的Windows版本中使用不同的名稱AppData文件夾,並且名字被本地化了。如果您的環境中有較舊的Windows版本,則您也必須處理該版本。

+0

感謝您的回答。我正在回家的路上過夜,但我明天會看看,並告訴你它是否有效。 – Randy