VBS检查多个用户的应用程序数据文件夹

时间:2012-09-10 14:41:16

标签: vbscript userappdatapath

在我的工作中,我们使用的应用程序(Mikogo)安装在App Data文件夹的用户目录中,而不是安装到Program Files文件夹中。

Mikogo发布了一个更新,所以我想知道它安装了哪台计算机,以便我可以更新软件。为此,我想解析计算机列表并检查计算机上每个用户的App Data文件夹中是否存在“Mikogo 4”文件夹。

我知道如何解析计算机列表,我知道如何查看文件夹是否存在,我甚至知道如何获取App Data文件夹的位置...我的问题是我不知道如何获取我当前正在检查的计算机上每个用户的App Data文件夹的位置。

我有办法检查每个App Data文件夹吗?

1 个答案:

答案 0 :(得分: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版本,那么您也必须处理它。