powershell 用新鲜的空邮箱开始新的一年。此脚本将电子邮件从日期范围内的收件箱(默认文件夹)移动到另一个文件夹。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 用新鲜的空邮箱开始新的一年。此脚本将电子邮件从日期范围内的收件箱(默认文件夹)移动到另一个文件夹。相关的知识,希望对你有一定的参考价值。

<#
 Start the year with a fresh, empty mailbox.
 This scripts moves emails from the Inbox (default folder) in a date range to another folder.
 
 Set $filterFromDate and $filterToDate to select the date range of mails to move.
 Set $tagetFolderName to the folder to move the mails to.

 Inspired by https://social.technet.microsoft.com/Forums/scriptcenter/en-US/5dc36dec-f88f-4e2d-8cba-385b6204ef6c/powershell-and-outlook-moving-messages?forum=ITCG
 and https://msdn.microsoft.com/en-us/magazine/dn189202.aspx
#>

$accountName = 'me@mail.com'
$filterFromDate = "[ReceivedTime] >= '#01/01/2017#'"
$filterToDate = "[ReceivedTime] < '#01/01/2018#'"
$targetFolderName = "Last year"


$ErrorActionPreference = "Stop"
Add-Type -AssemblyName microsoft.office.interop.outlook
$olFolders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders" -as [type]
$outlook = New-Object -ComObject outlook.application
$namespace = $Outlook.GetNameSpace("mapi")

$inboxFolder = $namespace.getDefaultFolder($olFolders::olFolderInbox)
$MoveTarget = $namespace.Folders.Item($accountName).Folders.Item($targetFolderName)

$messages = $inboxFolder.Items.Restrict($filterFromDate).Restrict($filterToDate)
$totalCount = $messages.count
Write-Host ("Found {0} messages" -f $totalCount)

for ($inc = $totalCount; $inc -gt 0 ; $inc --) {
    $message = $messages.Item($inc)
    Write-Host ("{0}/{1}  {2}  {3}" -f ($totalCount - $inc + 1), $totalCount, $message.ReceivedTime, $message.Subject)
    [void] $message.Move($MoveTarget)
}

以上是关于powershell 用新鲜的空邮箱开始新的一年。此脚本将电子邮件从日期范围内的收件箱(默认文件夹)移动到另一个文件夹。的主要内容,如果未能解决你的问题,请参考以下文章

新的一年,新的开始

2020-01-01新的一年,积极的开始

2017新年新愿

⌈ 2022杀青 ⌋ 一个普通人的年终总结,这一年我获得了更多的新鲜体验 | 普通而平凡的一年 | 向前走,走到光里 | 2023你好

新的一周新的开始新的行动!

春天又来了,做好自己的一年之计