วิธีค้นหาสตริงที่กำหนดในประวัติการแชททั้งหมดได้อย่างไร?
СTRL + F - ค้นหาในการแชทครั้งเดียว แต่ฉันมีพวกมันเยอะดังนั้นฉันต้องการหาบางสิ่งในการแชทที่บันทึกไว้ทั้งหมดหรือไม่
วิธีค้นหาสตริงที่กำหนดในประวัติการแชททั้งหมดได้อย่างไร?
СTRL + F - ค้นหาในการแชทครั้งเดียว แต่ฉันมีพวกมันเยอะดังนั้นฉันต้องการหาบางสิ่งในการแชทที่บันทึกไว้ทั้งหมดหรือไม่
คำตอบ:
ในรายการผู้ติดต่อหรือรายการล่าสุดเพียงคลิกผู้ติดต่อหรือกลุ่มที่คุณต้องการดูประวัติการสนทนาและประวัติการสนทนาของคุณจะปรากฏขึ้น
ไฟล์ฐานข้อมูล main.db ที่จัดเก็บประวัติการแชททั้งหมด main.db เป็นไฟล์ฐานข้อมูล SQLite มาตรฐานและสามารถเปิดได้โดยใช้แอปพลิเคชันเบราว์เซอร์ SQLite ใด ๆ แต่มีเป็นโปรแกรมฟรีซึ่งถูกออกแบบมาโดยเฉพาะอย่างยิ่งในการอ่านของ Skype สนทนาและการเรียกข้อมูล - SkypeLogView
ไฟล์ main.db ถูกบันทึกในหนึ่งในสิ่งต่อไปนี้ (ขึ้นอยู่กับระบบปฏิบัติการ)
บน 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
[USER NAME]
ด้วย%USERNAME%
เพื่อให้เส้นทางของคุณกลายเป็นคัดลอก / วางได้ นอกจากนี้ "ชื่อ Skype" ยังคลุมเครือสำหรับฉัน (คิดว่าเป็นรุ่นของ Skype หรืออะไรบางอย่าง O_o) ฉันจะอัปเดตเป็น "ชื่อผู้ใช้ Skype"
Skyperiousอาจคุ้มค่าที่จะเช็คเอาท์ มีความสามารถบางอย่างผ่าน SkypeLogView เช่น
การเขียนแบบสอบถาม 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
ฉันเพิ่งพบเครื่องมือออนไลน์ที่ดีสำหรับการเรียกดูประวัติ 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: บางครั้งชื่อเพื่อนของคุณอาจแตกต่างจากที่แสดงใน skype ดังนั้นให้ตรวจสอบชื่อนี้ก่อน:
SELECT identity, displayname FROM conversations
และรับหนึ่งจากidentity
คอลัมน์
SkyHistory ไม่ได้ผลสำหรับฉัน - ดูเหมือนว่ามันไม่ได้ออกแบบมาสำหรับท่อนซุง skype 68MB:)
หนึ่งในวิธีที่ทรงพลังที่สุดคือง่ายมาก - เพียงแค่ใช้ไคลเอนต์ SQLite ที่นี่ฉันเขียนคู่มือง่าย ๆ : http://jehy.ru/articles/2014/05/26/searching-through-skype-history/
หากคุณมีที่อยู่ติดต่อมากกว่า 300 รายและพวกเขามีการสนทนาที่ทับซ้อนกัน - คุณเข้าใจว่าเป็นไปไม่ได้ที่จะพบสิ่งใดด้วยวิธี Ctrl + F อย่างง่าย
โชคดีที่ Skype ใช้ฐานข้อมูล SQLite และเราสามารถทำการเชื่อมต่อโดยตรงและค้นหาตรงนั้น ดังนั้นคุณต้อง:
1) ดาวน์โหลดไคลเอนต์ SQLite (ฉันใช้http://sqlitebrowser.org/แต่คุณสามารถติดตั้งไคลเอนต์ที่คุณต้องการได้) 2) ค้นหาไฟล์ประวัติของคุณตามที่ decribed บนเว็บไซต์ skype:
กดปุ่ม Windows ค้างไว้ปุ่ม Windows บนแป้นพิมพ์ของคุณจากนั้นกด R เพื่อเปิดหน้าต่าง Run หากคุณใช้อุปกรณ์หน้าจอสัมผัสใน Windows 8 คุณสามารถเปิดหน้าต่าง Run จากทางลัดการค้นหา พิมพ์% appdata% \ Skype ในหน้าต่าง Run และกด Enter เปิดโฟลเดอร์ที่ตั้งชื่อตามชื่อ Skype ของคุณ ค้นหาไฟล์ main.db ในโฟลเดอร์ไฟล์นี้เป็นประวัติการแชทของคุณ
3) ใช้ไคลเอนต์ SQLite ของคุณเพื่อเปิดไฟล์นี้ 4) เปิดตารางฐานข้อมูล“ ข้อความ” 5) ใช้แบบสอบถาม SQL ใด ๆ ที่คุณต้องการค้นหาข้อความที่คุณต้องการ นี่คือตัวอย่างของฉันที่ค้นหาคำว่า "git" ในการสนทนา - แต่มีหลายฟิลด์ที่คุณสามารถใช้สำหรับการค้นหาและการสั่งซื้อ