Jak wyszukiwać podany ciąg we wszystkich historiach czatów?
СTRL + F - szukaj w jednym czacie, ale mam ich dużo, więc chcę znaleźć coś we wszystkich zapisanych czatach?
Jak wyszukiwać podany ciąg we wszystkich historiach czatów?
СTRL + F - szukaj w jednym czacie, ale mam ich dużo, więc chcę znaleźć coś we wszystkich zapisanych czatach?
Odpowiedzi:
Na liście kontaktów lub liście ostatnich kliknij kontakt lub grupę, dla której chcesz wyświetlić historię konwersacji, a historia konwersacji zostanie wyświetlona.
Plik bazy danych main.db, w którym przechowywana jest cała historia czatów. main.db to standardowy plik bazy danych SQLite, który można otworzyć za pomocą dowolnej aplikacji przeglądarki SQLite. Istnieje jednak darmowa aplikacja, specjalnie zaprojektowana do odczytu danych czatu i połączeń Skype - SkypeLogView .
Plik main.db jest zapisywany w jednym z poniższych (w zależności od systemu operacyjnego).
W systemie Windows 7 +: C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]
W systemie Windows XP: C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]
Poniższe powinny działać na wszystkich wersjach systemu Windows, możesz skopiować go do monitu Uruchom:
%APPDATA%\Skype
\[Skype User Name]
W systemie Mac OS X: Library/Application Support/Skype/[Skype User Name]
W przyszłości możesz rozważyć SkyHistory
[USER NAME]
z %USERNAME%
, tak, że droga staje się kopiowania / wklejania. Również „nazwa Skype” była dla mnie niejednoznaczna (myślałem, że to wersja Skype lub coś w stylu O_o), zaktualizowałbym „Skype nazwa użytkownika”
Warto również sprawdzić Skyperious . Ma kilka możliwości w stosunku do SkypeLogView, takich jak
Pisanie własnych zapytań SQL przy użyciu np. SqliteBrowser w celu przeszukiwania bazy danych Skype, pozwala na większą elastyczność i funkcjonalność niż przy użyciu specjalnego narzędzia Skype.
Na przykład to zapytanie wyszuka ciąg tekstowy we wszystkich czatach i wyświetli (lokalny) czas, w którym wiadomość została opublikowana, samą wiadomość, nazwę czatu (jeśli ma nazwę) i kto jest w czat.
select DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime') as postedon, c.displayname as chatname, m.from_dispname as fromuser, m.body_xml as msgtext
from Messages m
INNER JOIN Conversations c ON m.convo_id = c.id
where m.body_xml LIKE '%my text%' --case insensitive
order by m.timestamp DESC
Niedawno znalazłem fajne narzędzie online do przeglądania historii Skype: http://www.skypebrowser.com
Wydaje się być najlepszym rozwiązaniem, jeśli nie martwisz się kwestiami prywatności.
Działa dla mnie następujące zapytanie na main.db:
Znajduje czaty grupowe
SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), c.id, m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.type = 2 AND
m.body_xml NOT NULL
ORDER BY m.timestamp ASC
Znajduje prywatny czat ze swoim kumplem
SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE m.body_xml NOT NULL AND
c.identity LIKE '%YOUR.BUDDY.NAME.HERE%' --case insensitive
ORDER BY m.timestamp ASC
Na prywatnym czacie z kumplem znajduje podane słowo
SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.identity = 'YOUR.BUDDY.NAME.HERE' AND
m.body_xml NOT NULL AND
m.body_xml LIKE '%YOUR.SEARCHED.WORD.HERE%' --case insensitive
ORDER BY m.timestamp ASC
PS: czasami twoje imię znajomego może być inne niż wyświetlane w skype, więc sprawdź najpierw:
SELECT identity, displayname FROM conversations
i wybierz jedną z identity
kolumny
SkyHistory nie działało dla mnie - wygląda na to, że nie zostało zaprojektowane dla 68 MB logów skype:)
Jedno z najbardziej zaawansowanych podejść jest również bardzo proste - wystarczy użyć klienta SQLite. Tutaj napisałem prosty podręcznik: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/
Jeśli masz ponad 300 kontaktów i mają one nakładające się rozmowy - rozumiesz, że nie można znaleźć niczego za pomocą prostego podejścia Ctrl + F.
Na szczęście Skype korzysta z bazy danych SQLite i możemy nawiązać z nią bezpośrednie połączenie i przeszukać ją bezpośrednio. Musisz:
1) Pobierz klienta SQLite (użyłem http://sqlitebrowser.org/, ale możesz zainstalować dowolnego klienta) 2) Znajdź swój plik historii, tak jak jest on opisany na stronie internetowej skype:
Przytrzymaj klawisz Windows Klawisz Windows na klawiaturze, a następnie naciśnij R, aby wyświetlić okno Uruchom. Jeśli używasz urządzenia z ekranem dotykowym w systemie Windows 8, możesz uruchomić okno Uruchom z panelu wyszukiwania. Wpisz% appdata% \ Skype w oknie Uruchom i naciśnij klawisz Enter. Otwórz folder nazwany po nazwie użytkownika Skype. Znajdź plik main.db w folderze, ten plik to Twoja historia czatów.
3) Użyj swojego klienta SQLite, aby otworzyć ten plik. 4) Otwórz „komunikaty” w tabeli bazy danych. 5) Użyj zapytań SQL, które chcesz wyszukać. Oto przykład mojego wyszukiwania słowa „git” w rozmowach - ale istnieje wiele pól, których można użyć do wyszukiwania i zamawiania.