Massenverdichtung von 700 GB PST-Dateien?

2968
beeks

Ich arbeite an einer Archivmigration, bei der ich Mails aus 700 GB PST-Dateien extrahiere und an ein E-Mail-Archiv schicke. Nachdem eine Nachricht extrahiert wurde, wird sie mit einem benutzerdefinierten Dienstprogramm aus der PST-Datei gelöscht.

Dies lässt mich jedoch mit 700 GB meist leeren PST-Dateien.

Aus Gründen der Kompatibilität muss ich die Nachrichten beibehalten, die nicht extrahiert werden konnten, und ich muss auch Speicherplatz freigeben.

Gibt es eine Möglichkeit, die PST-Dateien zu komprimieren? Ich kann nicht viel nützliche Software online finden, um dies zu tun.

Wenn ich eine 500-MB-PST-Datei nehme und sie entpacke, bleibt mir ein 230-MB-Archiv übrig. Wenn ich jedoch Outlook 2007 zum Komprimieren verwende, habe ich eine PST von 15 MB.

Hat jemand eine Idee, wie man tausende von PST-Dateien zusammenfasst? Ich suche nicht nach einer Lösung wie CompressPST, die Anhänge und so weiter entfernt, da die Dateien zu 99% leer sind.

Ich konnte keine Befehlszeilenoptionen für Outlook finden, um dies zu erreichen.

5
Siehe auch: [Speicherplatz nach Löschen von Outlook-E-Mails zurückfordern] (http://superuser.com/questions/719436/reclaim-disk-space-after-deleting-outlook-emails) Ƭᴇcʜιᴇ007 vor 9 Jahren 0
@ Techie007 Danke. Ich weiß, wie man PST-Dateien manuell komprimiert. Ich habe nur etwa tausend davon. beeks vor 9 Jahren 0
@ sunk818, das den Zweck der Massenverdichtung von Hunderten von Auftritten von PSTs vereitelt. Wie würde das funktionieren, wenn Sie von Dutzenden verschiedener Benutzer ein 1-TB-Laufwerk mit PST-Dateien erhalten? beeks vor 9 Jahren 0

2 Antworten auf die Frage

3
beeks

OK, ich habe dies mit SmartPST (Freeware) und AutoIT (Freeware) erreicht.

Mit SmartPST kann ich PST-Dateien in meinem Outlook-Profil hinzufügen. Drag & Drop

Das folgende AutoIT-Skript, das ich ausgegraben habe, durchläuft die einzelnen und komprimiert. Führen Sie es in einer VM aus, um Ihre aktuelle Arbeit nicht zu vermeiden.

Das war das Beste, was ich mir wünschen konnte. Ein Drag & Drop und klicken Sie auf Lösung. :) IT Automation wird nicht besser.

#include <GUIListView.au3> SplashTextOn("Compacting now", "This may take hours...", 250, 40) ;//Runs the mail application that is in control panel. $Path = FileGetShortName(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls", "mlcfg32.cpl")) Run(@SystemDir & "\control.exe " & $Path) Opt("WinTitleMatchMode", 4) WinWait("Mail Setup - Outlook", "Setup e-mail accounts and dire") ControlClick("Mail Setup - Outlook", "Setup e-mail accounts and dire", "Button2") WinWait("Account Settings", "AcctMgr Tab") ;//Gets list of data files listed $sTitle = "Account Settings" $hWnd = WinGetHandle($sTitle) If @error Then MsgBox(0, "Error", "Unable to find window") EndIf WinActivate($hWnd) $hlist = ControlGetHandle($hWnd, "", "[CLASS:SysListView32; INSTANCE:2]") If @error Then Exit $arraycount = _GUICtrlListView_GetItemCount($hlist) Local $ltext[$arraycount] $i = 0 Do $ltext[$i] = _GUICtrlListView_GetItemText($hlist, $i) $i = $i + 1 Until $i = $arraycount ;//Goes into each listed Data file and compresses them $b = 0 Do _GUICtrlListView_ClickItem($hlist, $b, "left", False, 2) Sleep(1000) WinWaitActive("Outlook Data File") ControlClick("Outlook Data File", "", "[CLASS:Button; INSTANCE:2]") ; click Compact Now Sleep(1200) If WinExists("Compact Now") Then WinWaitClose("Compact Now") WinClose("Outlook Data File") $b = $b + 1 Until $b = $arraycount WinClose("Outlook Data Files") WinClose("Account Settings") WinClose("Mail Setup - Outlook") SplashOff() MsgBox(64, "Outlook", "All accounts were processed." & @CRLF & "Closing in 5 seconds...", 5) Exit 
0
Rick Upton

Danke Beeks, das hat nach einem kleinen Tweak für mich super funktioniert.

Auf meinem Windows 8.1-PC, auf dem Office 2013 ausgeführt wird, funktionierten die folgenden beiden Zeilen nicht zum Öffnen der E-Mail-Systemsteuerung, da der Registrierungsschlüssel nicht vorhanden war.

$ Path = FileGetShortName (RegRead ("HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Current> Version \ Control Panel \ Cpls", "mlcfg32.cpl")) Ausführen (@SystemDir & "\ control.exe" & $ Path) 

Ich habe festgestellt, dass ich das Mail-Steuerungsfeld öffnen könnte, ohne sich mit der Registrierung zu beschäftigen. Verwenden Sie dazu ein PowerShell-Skript, um das Mail-Steuerungsfeld zu öffnen, und rufen Sie dann ein AutoIT-Skript auf, um den Rest zu erledigen:

# Öffnen Sie das Mail-Steuerungsfeld  Show-ControlPanelItem Mail *  # Rufen Sie ein Skript auf, um alle Outlook-PST-Dateien zu komprimieren und auf das Skript zu warten # abgeschlossen, bevor Sie mit dem nächsten Schritt im PowerShell-Skript fortfahren.  Start-Prozess "C: \ Benutzer \ XXX \ Documents \ Compact all PST files.au3" -Warten 
Danke fürs Schreiben. Ich habe gerade Office 2016 installiert, der Registrierungsschlüssel wird sich wahrscheinlich erneut ändern. beeks vor 8 Jahren 0