Odp: Jak odszukać wiadomości z inną datą utworzenia niż datą odebrania
Twoje próby pokonania ułomności The Bat! są jak najbardziej prawidłowe, ale okazuje się, że jest jeszcze lepszy sposób: użycie rozszerzonego zestawu makr z wtyczki XMP, dostępnej do pobrania z tej witryny: http://thebat.pl/download/index.php?ite … p;catid=16
W tym zestawie znajduje się makro wyliczające bezwzględną różnicę czasu np. między dwiema datami. Jego użycie wymagało trochę zabawy z odpowiednim sformatowaniem czasu, ale nareszcie działa (u mnie). Szablon filtru można zatem zmienić na następujący:
%_diff=$%XMP_TimeDiff("%ORcvDate('yyyy-mm-dd')","%ODate('yyyy-mm-dd')")$%-
%IfN:%_diff>=xx:'mid:%SetPattRegexp="<(.*)>"%RegexpMatch="%OMsgID"'
W tym szablonie xx oznacza wartość bezwzględną różnicy dat, a nie jej kwadrat, i taką liczbę tam należy wpisać.
Jest też możliwe zbudowanie na tej bazie dwóch filtrów, które automatycznie wyeksportują wiadomości z różniącymi się datami. Oto gotowy zestaw filtrów do skopiowania i wklejenia:
$$$$ TB! Message Filter $$$$
beginFilter
UID: [DA615404.01CAA4B0.51A42D50.321AA695]
Name: Różnica\20dat\201
Filter: {\0D\0A\20`0`0`@\0D\0A}
UserParam param Date_diff value %QT(Dates_diff)
IsContinue
IsActive
Ignore
endFilter
1
beginFilter
UID: [4734A5EA.01CAA4B3.191656EB.19A1629C]
Name: Eksport
Filter: {\0D\0A\20`27`Date_diff`0`1\0D\0A}
ExportMessage FmtUnix filename E:\5Clista.txt filenamerelative %EXEDRIVE%\5Clista.txt
IsContinue
IsActive
Ignore
endFilter
Pierwszy filtr korzysta z szablonu podręcznego o identyfikatorze Dates_diff i zawartości takiej jak niżej:
%_diff=$%XMP_TimeDiff("%ORcvDate('yyyy-mm-dd')","%ODate('yyyy-mm-dd')")$%-
%_diff2='%Calc="%_df*%_df"'%-
%IfN:%_diff>=xx:1:0
W wyniku otrzymujesz plik tekstowy E:\lista.txt z wyeksportowanymi wiadomościami. Nazwę i miejsce tworzenia pliku możesz oczywiście zmienić. Wartość xx w szablonie to minimalna różnica w dniach dla daty odbioru i utworzenia wiadomości - musisz ją wpisać zgodnie ze swoim życzeniem.