如何使用Powershell指定收件箱的子文件夹

如何使用Powershell指定收件箱的子文件夹,powershell,outlook,Powershell,Outlook,我正在尝试使用Powershell访问outlook(2010)中名为“subfolder”的“收件箱”的子文件夹 $olFolderInbox = 6 $outlook = new-object -com outlook.application; $ns = $outlook.GetNameSpace("MAPI"); $inbox = $ns.GetDefaultFolder($olFolderInbox) # how do I specify a subfolder that's ins

我正在尝试使用Powershell访问outlook(2010)中名为“subfolder”的“收件箱”的子文件夹

$olFolderInbox = 6
$outlook = new-object -com outlook.application;
$ns = $outlook.GetNameSpace("MAPI");
$inbox = $ns.GetDefaultFolder($olFolderInbox)

# how do I specify a subfolder that's inside Inbox???
# I mean, "Inbox\subfolder" where "subfolder" is the name of the subfolder...
如何指定此子文件夹

我相信这真的很简单,这就是我即将“失去它”的原因。提前谢谢

*稍后在我的代码中, 我在正文中搜索“searchterm”,如果有匹配项,则将结果发送到文本文件。以下代码适用于我的收件箱:

$inbox.items | foreach {
if($_.body -match "searchterm") {$_.body | out-file -encoding ASCII foo.txt} # prints to file...
我想查看收件箱的子文件夹,而不是收件箱,如上所述

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

编辑:

好的,我想现在可以了


我不知道我做错了什么,尽管这是我第一天使用Powershell,所以这并不奇怪,真的。

尝试使用Where-Object cmdlet过滤从
$inbox.Folders返回的文件夹

$Subfolder = $inbox.Folders | Where-Object -FilterScript { (Split-Path -Path $_.FolderPath -Leaf) -eq 'Subfolder' }
以下是上述内容的另一种/简写版本。这就不太可靠了,因为您可能有另一个名为
MySubfolder
的文件夹,它与
子文件夹
不同

$Subfolder = $inbox.Folders | ? { $_.FolderPath.EndsWith('Subfolder') }

尝试使用Where-Object cmdlet筛选从
$inbox.Folders
返回的文件夹

$Subfolder = $inbox.Folders | Where-Object -FilterScript { (Split-Path -Path $_.FolderPath -Leaf) -eq 'Subfolder' }
以下是上述内容的另一种/简写版本。这就不太可靠了,因为您可能有另一个名为
MySubfolder
的文件夹,它与
子文件夹
不同

$Subfolder = $inbox.Folders | ? { $_.FolderPath.EndsWith('Subfolder') }
编辑:不确定你的最新编辑为什么不起作用。您的邮件在结构上与我上面的邮件相似,我用自己的邮箱验证了它

编辑:确保如果使用out文件,则附加结果,而不是覆盖每个匹配项

编辑:不确定你的最新编辑为什么不起作用。您的邮件在结构上与我上面的邮件相似,我用自己的邮箱验证了它


编辑:确保如果您正在使用out文件,您会附加结果,而不是用每个匹配项进行覆盖。

如果是VBScript,它会不会像:Set myNewFolder=inbox.Folders(“子文件夹”)有完整源代码示例的任何最终解决方案?如果是VBScript,这不是像:Set myNewFolder=inbox.Folders(“subfolder”)这样的东西吗?有完整的源代码示例的最终解决方案吗?Trevor,我不想显得新鲜,但有没有更简单的方法来指定路径?如果它是硬编码的(目前),我不会感到烦恼。。。我的直觉在这一点上失败了,我一直很难找到一个合适的例子。我尝试了你的行来声明$subfolder,但我无法让它工作…Trevor,我不想显得新鲜,但是有没有更简单的方法来指定路径?如果它是硬编码的(目前),我不会感到烦恼。。。我的直觉在这一点上失败了,我一直很难找到一个合适的例子。我尝试了你的行来声明$subfolder,但我无法让它工作…再次感谢,我现在正在研究outfile的选项。。。对我来说,不像>和>>那么简单。。。我在上面的代码中添加了附加代码。我还有很长的路要走,我真的想在这里做,但这真的帮助了我,再次感谢!如何将Outlook与多个smtp和Exchange帐户一起使用?再次感谢,我现在正在研究outfile的选项。。。对我来说,不像>和>>那么简单。。。我在上面的代码中添加了附加代码。我还有很长的路要走,我真的想在这里做,但这真的帮助了我,再次感谢!如何将Outlook与多个smtp和Exchange帐户一起使用?