すべてのチャット履歴で特定の文字列を検索する方法は?
СTRL+ F-1つのチャット内を検索しますが、たくさんあるので、保存されているすべてのチャットで何かを見つけたいですか?
連絡先リストまたは最近のリストで、会話履歴を表示する連絡先またはグループをクリックするだけで、会話履歴が表示されます。
すべてのチャット履歴が保存されるmain.dbデータベースファイル。 main.dbは標準のSQLiteデータベースファイルであり、任意のSQLiteブラウザアプリケーションを使用して開くことができます。ただし、無料のアプリケーションがあり、Skypeのチャットを読み、データを呼び出すように特別に設計されています– SkypeLogView 。
Main.dbファイルは、次のいずれかに保存されます(OSによって異なります)。
Windows 7以降:C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]
Windows XPの場合:C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]
以下はすべてのバージョンのWindowsで機能するはずです。それを実行プロンプトにコピーできます。
%APPDATA%\Skype
\[Skype User Name]
Mac OS Xの場合:Library/Application Support/Skype/[Skype User Name]
将来的には、検討することをお勧めします SkyHistory
を使用して独自のSQLクエリを記述します。 SqliteBrowserは、Skypeデータベースを検索するため、サードパーティのSkype固有のツールを使用するよりも柔軟性と機能性に優れています。
たとえば、このクエリはすべてのチャットでテキスト文字列を検索し、メッセージが投稿された(ローカル)時間、メッセージ自体、チャットの名前(名前がある場合)、および誰がチャット。
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
Skyperious もチェックする価値があるかもしれません。 SkypeLogViewを介していくつかの機能があります。
私は最近、Skypeの履歴を閲覧するための素晴らしいオンラインツールを見つけました: http://www.skypebrowser.com
プライバシーの問題を心配していない場合は、最善の解決策のようです。
Main.dbに対する次のクエリは私にとってはうまくいきます:
グループチャットを検索します
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
友達とのプライベートチャットを見つけます
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
友だちとのプライベートチャットで特定の単語が見つかります
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:あなたのバディ名はスカイプに表示されるものと異なる場合があるので、最初にこれをチェックしてください:
SELECT identity, displayname FROM conversations
identity
列から1つ選択します
SkyHistoryが機能しませんでした-68MBのSkypeログ用に設計されていないようです:)
最も強力なアプローチの1つは非常にシンプルでもあり、SQLiteクライアントを使用するだけです。ここに私は簡単なマニュアルを書きました: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/
300を超える連絡先があり、それらの会話が重複している場合、単純なCtrl + Fアプローチでは何も見つけることが不可能であることを理解しています。
さいわい、SkypeはSQLiteデータベースを使用しており、Skypeに直接接続して直接検索することができます。したがって、次のことを行う必要があります。
1)SQLiteクライアントをダウンロードします(私は http://sqlitebrowser.org/ を使用しましたが、好きなクライアントをインストールできます)2)スカイプWebサイトに記述されている履歴ファイルを見つけます:
Windowsキーを押したままキーボードのWindowsキーを押し、Rキーを押して実行ウィンドウを表示します。 Windows 8でタッチスクリーンデバイスを使用している場合は、検索チャームから実行ウィンドウを表示できます。実行ウィンドウに%appdata%\ Skypeと入力し、Enterキーを押します。 Skype名にちなんで名付けられたフォルダを開きます。フォルダーでmain.dbファイルを探します。このファイルはチャットの履歴です。
3)SQLiteクライアントを使用してこのファイルを開きます。 4)データベーステーブル「メッセージ」を開く5)必要なメッセージを検索するSQLクエリを使用します。以下は、会話で「git」という単語を検索する例ですが、検索と順序付けに使用できるフィールドはたくさんあります。