Массовое сжатие 700 ГБ файлов PST?

3097
beeks

Я работаю над переносом архива, в котором я извлекаю почту из 700 ГБ PST-файлов и отправляю ее в почтовый архив. После извлечения сообщения оно удаляется из файла PST с помощью специальной утилиты.

Однако это оставляет мне 700 ГБ в основном пустых файлов PST.

Из соображений соответствия мне нужно сохранить сообщения, которые не удалось извлечь, и мне нужно также освободить место на диске.

Есть ли способ массового сжатия файлов PST? Я не могу найти много полезного программного обеспечения в Интернете, чтобы сделать это.

Если я возьму файл PST объемом 500 МБ и заархивирую его, у меня останется архив на 230 МБ. Однако, если я использую Outlook 2007, чтобы сжать его, мне остается 15 МБ PST.

У кого-нибудь есть какие-либо идеи о том, как создать компактные тысячи файлов PST? Я не ищу решение, такое как CompressPST, которое удаляет вложения и еще много чего, поскольку файлы пусты на 99%.

Я не смог найти никаких ключей командной строки для Outlook, чтобы выполнить это.

5
Связанный: [Восстановление дискового пространства после удаления электронной почты Outlook] (http://superuser.com/questions/719436/reclaim-disk-space-after-deleting-outlook-emails) Ƭᴇcʜιᴇ007 9 лет назад 0
@ Techie007 Спасибо. Я знаю, как сжимать файлы PST вручную, просто у меня их около тысячи. beeks 9 лет назад 0
@ sunk818, который побеждает цель массового сжатия сотен гигов PST. Как это будет работать, если вам дадут 1 ТБ диск PST-файлов от десятков разных пользователей? beeks 9 лет назад 0

2 ответа на вопрос

3
beeks

ОК, я выполнил это с помощью SmartPST (Freeware) и AutoIT (Freeware.)

С SmartPST я могу массово добавлять файлы PST в мой профиль Outlook. Перетащите.

И следующий скрипт AutoIT, который я выкопал, повторяет каждый и сокращает. Запустите его на виртуальной машине, чтобы избежать текущей работы.

Это оказалось лучшим, что я мог просить. Перетащите, а затем нажмите решение. :) ИТ-автоматизация не становится лучше, чем это.

#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

Thanks Beeks, this worked great for me after a small tweak.

On my Windows 8.1 PC running Office 2013, the following two lines didn't work to open the Mail control panel because the registry key didn't exist.

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

I found I could open the Mail control panel without having to mess with the registry by using a PowerShell script to first open the Mail control panel and then call an AutoIT script to do the rest:

# Open Mail control panel Show-ControlPanelItem Mail* # Call script to compact all Outlook PST files, waiting for the script to # complete before moving on to the next step in the PowerShell script. Start-Process "C:\Users\XXX\Documents\Compact all PST files.au3" -Wait 
Спасибо за публикацию. Я только что установил Office 2016, раздел реестра, вероятно, снова изменится. beeks 8 лет назад 0