2016-03-30 1 views
0

löschen muss es eine Möglichkeit, dies mithilfe der MAPI zu tun.wie Outlook Inbox Unterordner Inhalt mit Powershell

Ich habe

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

es eine Möglichkeit sein, den Inhalt dieses Unterordner Ordner, nachdem das vollständige Skript läuft zu löschen, so dass der Unterordner ist das Skript für das nächste Mal läuft klar nur die Elemente zu verarbeiten, wie sie kommen neu. (um die Wiederaufbereitung von Dateien nicht zu verarbeiten). Irgendwelche Ideen?

Antwort

0

Verwenden Sie einfach die Delete-Methode:

$ns = $outlook.GetNameSpace("MAPI"); 
$inbox = $ns.GetDefaultFolder('olFolderInbox') 
$SubFolders = $inbox.Folders 

So löschen Sie alle Unterordner mit dem Inhalt:

$SubFolders | % {$_.Delete()} 

So löschen Sie nur den Inhalt

foreach ($SubFolder in $SubFolders) 
{ 
    While ($Subfolder.Items.Count -ne 0) 
    { 
    $SubFolder.Items | % {$_.delete()} 
    } 
} 
  • Hinweis: für irgendein Grund, manchmal löscht es nicht alle Gegenstände, Th ist in einem einfachen While Loop gelöst, wie im Beispiel
+0

danke, du bist ein Genie. Abstimmung wo möglich! – Royston