0

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

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

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

有没有办法让我检查每个单独的 App Data 文件夹?

4

1 回答 1

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 版本,您也必须处理它。

于 2012-09-10T17:06:18.927 回答