Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用powershell删除outlook收件箱子文件夹内容_Powershell_Outlook - Fatal编程技术网

如何使用powershell删除outlook收件箱子文件夹内容

如何使用powershell删除outlook收件箱子文件夹内容,powershell,outlook,Powershell,Outlook,必须有一种方法可以使用MAPI执行此操作 我有 $ns = $outlook.GetNameSpace("MAPI"); $inbox = $ns.GetDefaultFolder($olFolderInbox); $inbox.Folders ` | ? name -eq Subfolder1 ` | % Items 必须有一种方法在完整脚本运行后删除此子文件夹的内容,以便在下次脚本运行时清除该子文件夹,以便只处理新出现的项目。(以免已处理的文件重新处理)。有什么

必须有一种方法可以使用MAPI执行此操作

我有

    $ns = $outlook.GetNameSpace("MAPI"); 
    $inbox = $ns.GetDefaultFolder($olFolderInbox);
    $inbox.Folders `
| ? name -eq Subfolder1 ` 
| % Items

必须有一种方法在完整脚本运行后删除此子文件夹的内容,以便在下次脚本运行时清除该子文件夹,以便只处理新出现的项目。(以免已处理的文件重新处理)。有什么想法吗?

只需使用删除方法:

$ns = $outlook.GetNameSpace("MAPI"); 
$inbox = $ns.GetDefaultFolder('olFolderInbox')
$SubFolders = $inbox.Folders
要删除包含内容的所有子文件夹,请执行以下操作:

$SubFolders | % {$_.Delete()}
只删除内容

foreach ($SubFolder in $SubFolders)
{
    While ($Subfolder.Items.Count -ne 0)
    {
    $SubFolder.Items | % {$_.delete()}
    }
}
  • 注意:由于某些原因,有时它并没有删除所有项目,这可以通过一个简单的
    While循环来解决,如示例中所示