我想从我的Outlook电子邮件中获取具有当前日期的.txt文件。 到目前为止它会抓住任何有' .txt'已将附件。 我如何格式化它以便从今天仅发送电子邮件。
我将在此文件夹中收到 1 每日电子邮件,因此我想获取该每日文件的附件并将其放在我的目录中的文件夹中。 到目前为止,我有这个:
$i=1
#set outlook to open
$o = New-Object -comobject outlook.application
$n = $o.GetNamespace(“MAPI”)
$f = $n.pickfolder('EDI')
$filepath = “C:\users\cesar.sanchez\desktop\EDI Statement Extract”
$date = get-date (Get-Date).AddDays(-1) -format "MMMM dd"
$f.Items | foreach {
$i=$i+1
$_.attachments | foreach {
Write-Host $_.filename
$a = $_.filename
If ($a.Contains(“.txt”)) {
$_.saveasfile((Join-Path $filepath “Nassau EDI ExtractTest _$date.txt”))
}
}
}
答案 0 :(得分:2)
下面将浏览收件箱,并从今天收到的电子邮件中获取所有文本文件。
$ol = New-Object -ComObject outlook.application
$n = $ol.getNameSpace("MAPI")
$fold = $n.GetDefaultFolder(6).items
$fold |Where {$_.ReceivedTime.Day -eq (Get-Date -format "dd") -AND $_.ReceivedTime.Month -eq (Get-Date -format "MM") -AND $_.ReceivedTime.Year -eq (Get-Date -format "yyyy") | foreach{
$_.Attachment | foreach{
$att = $_
$_.FileName | Where {$_ -CMatch '\.txt$'} | foreach{
$att.saveasfile("C:\$_")
}
}
}
希望这会有所帮助。你的问题确实教会了我一些新的东西。