我是VBS的新手并尝试编写脚本(首先)在用户的个人资料中查找PST文件。在Outlook 2007中,这些文件的默认位置是%userprofile%\ AppData \ Local \ Microsoft \ Outlook,但在Outlook 2010中是%userprofile%\ Documents \ Outlook Files。
目前我已经使用以下代码进行了测试,出于测试目的,我使用了文件夹C:\ Data和Outlook 2007的路径。两者都包含PST文件。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set wshShell = WScript.CreateObject( "WScript.Shell" )
strUserName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile Where Extension = 'pst' AND (Path = '\\Data\\' OR Path = '\\" & strUserName &"\\AppData\\Local\\Microsoft\\Outlook')")
问题是它成功从Data文件夹中读取但是从用户配置文件中没有成功读取。 有趣的是,如果我在查询中声明Drive ='C:'而不是两个路径,它将返回来自Data和%userprofile%\ AppData \ Local \ Microsoft \ Outlook的所有pst文件。但是,查看所有C驱动器并不是最佳解决方案,因为它无需消耗宝贵的资源。
如何让它访问这两个文件夹?
谢谢并提前! 尤利安
答案 0 :(得分:0)
如果有人发现它有用,我已经更正了我的查询语法,现在它正在运行。
("Select * from CIM_DataFile Where Extension = 'pst' AND (Path = '\\Data\\' OR Path = '\\Users\\"& strUserName &"\\AppData\\Local\\Microsoft\\Outlook\\')")