2016-07-01 80 views
2

我是VBS中的新用户,并且正在尝试编写脚本(首先)在用户配置文件中查找PST文件。在Outlook 2007中,这些文件的默认位置为%userprofile%\ AppData \ Local \ Microsoft \ Outlook,但在Outlook 2010中为%userprofile%\ Documents \ Outlook Files。VSB在用户配置文件中查找PST文件

目前我已经测试了下面的代码,并且为了测试目的,我使用了一个文件夹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')") 

问题是它成功地从数据文件夹中读取,但是从用户配置文件中读取不成功。 有趣的是,如果我声明Drive ='C:'而不是查询中的两个路径,它将返回来自Data和%userprofile%\ AppData \ Local \ Microsoft \ Outlook的所有pst文件。但是浏览所有C驱动器并不是最好的解决方案,因为它消耗了宝贵的资源。

任何想法如何使它访问这两个文件夹?

感谢和提前! Iulian

回答

0

如果有人会发现它有用,我已经更正了我的查询语法,如下所示,它现在正在工作。

("Select * from CIM_DataFile Where Extension = 'pst' AND (Path = '\\Data\\' OR Path = '\\Users\\"& strUserName &"\\AppData\\Local\\Microsoft\\Outlook\\')") 
相关问题