收件箱
... | ___ Folder1中
............. | ___ FOLDER2
我有搜索收件箱下的文件夹的代码,但我无法理解如何搜索文件夹下的文件夹的某些字段。我需要做一些递归吗?
$olFolderInbox = 6
$outlook = new-object -com outlook.application;
$ns = $outlook.GetNameSpace("MAPI");
$inbox = $ns.GetDefaultFolder($olFolderInbox)
$Folder1 = $inbox.Folders | where-object { $_.name -eq "Folder1" }
$Folder1Mail = $UTSFolder.items | Select-Object -Property Subject, ReceivedTime, Body
然后我可以使用input.txt获取我正在寻找的信息列表,并将其与该收件箱中的每个项目进行比较。
$Inputs = Get-Content input.txt
Foreach ($Input in $Inputs){
Foreach ($Mail in $Folder1Mail){
if ($Mail.Body -like "*$Input*") {
Write-Host "Match found!"
}
}
}
我发现了一个会抓取并列出所有文件夹和子文件夹的脚本,但它并不像如何引用它们那么明确。 http://gallery.technet.microsoft.com/office/b1295e6f-6d16-4df4-b644-f3c7e4031a69
目前正在阅读Windows PowerShell In Action,因为我厌倦了Frankenstein剁购物脚本。
谢谢!
答案 0 :(得分:3)
您需要使用MAPIFolder.Folders
集合:VB样式:
set Folder = inbox.Folders.Item("folder1").Folder.Item("Folder2")