问题:
我曾在 PC(不是 Windows 8 Metro 风格应用)和手机上使用 Viber。不幸的是,我的手机丢了。但我仍然可以使用桌面版 Viber。我可以在那里看到我的所有联系人(Viber + 非 Viber)。我需要以 .vcf 或我们用于存储联系人的任何其他标准格式检索这些联系人。
如果有办法的话请告诉我。
到目前为止我已经尝试过:
我用记事本打开了“C:\Users[用户名]\AppData\Roaming\ViberPC”下的文件,并查找了联系信息。但没有成功。
答案1
您可以使用写字板打开viber.db
,C:\Users\USERNAME\AppData\Roaming\ViberPC\YourNumber
在文件开头的某个地方,您会找到联系人的电话号码。只需在新手机中手动输入这些号码,它们就会出现在 Viber 的联系人列表中。
或下载用于访问和修改 SQLite 数据库的命令行 shellsqlite3.exe
并将、viber.db
和复制data.db
到C:\
。然后在 CMD(开始 -> 运行 -> cmd.exe)中定位到C:\
并输入sqlite3.exe viber.db
然后输入:
SELECT ContactRelation.Number, Contact.FirstName, Contact.SecondName FROM Contact INNER JOIN ContactRelation ON Contact.ContactID = ContactRelation.ContactID ORDER BY Contact.FirstName;
就这样!您列出了所有联系人,首先是电话号码,然后是姓名!
答案2
也许数据库结构已经改变,就我而言,我不得不稍微改变@Davidenko 的说明。
安装 SQLite 命令行 shell,可能来自这里sqlite.org/download.html。它捆绑在 sqlite-tools 中。
复制文件
C:\Users\USERNAME\AppData\Roaming\ViberPC\YourNumber\viber.db
某处。现在在 PowerShell 或 CMD 中cd
进入viber.db
目录并使用以下命令打开它:
sqlite3 .\viber.db
viber.db
这将在 SQLite shell 中打开。
将联系人导出为 CSV文件,在SQL shell中写入:
.mode csv
.output contacts.csv
SELECT Contact.Name, Contact.Number, Contact.ViberContact FROM Contact;
.output stdout
将文本消息导出为 CSV包括相关联系人,写明:
.mode csv
.output messages.csv
SELECT Contact.Name, Contact.Number, Contact.ViberContact, Events.TimeStamp, Messages.Body FROM Contact INNER JOIN Events ON Contact.ContactID = Events.ContactID INNER JOIN Messages ON Events.EventID = Messages.EventID ORDER BY Contact.Name;
.output stdout
答案3
在Ubuntu我在下面找到了它:
/home/[user]/snap/viber-unofficial/37/.ViberPC/[phonenumber]/viber.db
(快速安装)/home/[user]/.ViberPC/[phonenumber]/viber.db
(非快速安装)
然后你可以打开sqlitebrowser
sudo apt install sqlitebrowser
sqlitebrowser viber.db