0

我必须在具有有限权限的用户帐户上运行脚本。在脚本中,有一行可以找到指定文件的完整路径,它必须与环境变量一起使用,例如 %HOMEDRIVE%。

但是,命令行

objShell.ExpandEnvironmentStrings("%HOMEDRIVE%") 

如果用户不是管理员,则抛出拒绝访问异常。

如何从权限有限的帐户中读取此环境变量?

谢谢!

4

1 回答 1

0

尝试将以下内容放在脚本的开头:

Set oShell = CreateObject("WScript.Shell")
strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
Const ssfPROFILE = &H28
Set oShell = CreateObject("Shell.Application")
strHomeFolder = oShell.NameSpace(ssfPROFILE).Self.Path

然后,当您需要引用用户名时,您可以使用以下内容而不是 "C:\Users...\" 只需输入:

= strHomeFolder & "\...\The Rest Of The Filepath eg.appdata\...\"

这应该让您访问特定于用户的路径,然后继续查找特定文件。它访问登录的主文件夹的用户。如果另一个用户打开它,它将访问他/她的主文件夹。

我希望这有帮助!

于 2013-08-18T03:13:16.483 回答