【发布时间】:2014-12-18 09:51:08
【问题描述】:
我正在尝试编写一个脚本,从超过 10 天的文件夹中的邮件项目下载附件,将它们保存到我的硬盘驱动器,然后将邮件项目移动到已删除的项目文件夹。到目前为止,附件下载工作正常,但是当我添加移动电子邮件的代码时,它只适用于我文件夹中的一半电子邮件。代码如下所示。任何帮助表示赞赏。
$Folder.Items | foreach{
$Received = New-Object DateTime
$Received = $_.ReceivedTime
$howOld = New-Object int
$howOld = $Today.subtract($Received)
$howOld = $howOld | select-object -ExpandProperty Days
$date = $_.ReceivedTime.ToString("MMddyyyy")
$howOld
if ($howOld -gt 10){
#Save Attachment To Folder
$_.attachments | foreach{
$fileName = $_.filename
$split = $fileName.Split('.')
$fileName = $split[0]
$fileExtension = $split[1]
$fileName = $fileName + '_' + $date + '.' + $fileExtension
$_.saveasfile((Join-Path $filepath $fileName))
}
#Move to Deleted Folder
$result = $_.Move($deletedFolder)
}
}
【问题讨论】:
-
$Folder是什么类型的对象?您也可以尝试使用Move-Itemcmdlet 而不是使用对象.Move()方法 -
Move-Item 给了我一条错误消息。 + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.MoveItemCommand $Folder is a System.__ComObject.
-
这可能是因为路径是 $folder.item 的属性,而不是项目本身。它是哪种类型的comobject?
-
你能告诉我如何找到它吗?老实说,我不确定。
-
发布创建 $folder 的代码行,可能类似于
$Folder = New-object -comobject Shell.Application或$Folder = $sh.Namespace($filepath)
标签: email powershell outlook