这篇文章的本意呢,其实对个人用户意义不大,因为桌面端微信本身提供了自定义用户数据文件存放路径的设置项,那么为什么要写出来这么一篇看似无用的教程来呢?是因为微信本身的特殊性,需要用户登录以后才可以修改设置,那么对于运维人员来说,想要预装微信再自定义用户数据存放路径就比较麻烦了,登录自己的账号修改设置后,又会留下使用过的痕迹(其实也是有办法清除的)下次打开微信就会赤裸裸地默认提供自己账号的登录二维码以及头像。但是电脑的所有者又不会在自己不在场的情况下让你登录她的微信看到个人隐私,这就比较尴尬了……

现在开始需求分析:

一、微信默认文件保存位置是在用户文档目录中,具体位置可通过下方的路径获取,如果你没有修改过用户根目录位置,那么这个目录默认在你的系统分区中,以目前固态硬盘的普及程度以及容量限制,整块硬盘的剩余空间很快就会被微信中大量的小视频、图片以及文件等的缓存吃空,所以,把微信默认文件保存位置修改到非系统分区中是很有必要的。

%USERPROFILE%\Documents

二、微信的设置需要登录以后才可以修改,且未提供清除登录历史记录的功能,下次启动默认显示最后一次登录用户的头像及登录用二维码图像,对于普通用户而言,造成困扰。

综上所述,需求是存在的,所以就决定搞定它。既然支持自定义,就说明路径不是写死在代码里的,就是不知道为什么桌面端的微信不在安装时像QQ一样提供可自定义用户数据存放位置的选项了,你不给那我就自己来。其实我当时面对的需求要更加复杂一点,就是不仅要在不登录微信的情况完成存放位置修改,还要把以前的聊天记录还原回去,好在最后还是实现了。那么,废话不多说了,下面开始正文:

第一步,从官网下载桌面版微信客户端并安装,安装结束后不要点开始使用,直接关闭掉。

通过对安装日志的分析,发现了比较可疑的操作,于是跳转到上图所示的目录打开目标文件分析

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini

文件内容高度可疑,内容很明显就是微信文件的默认保存位置,也就是“我的文档”系统目录中

注册表项目也创建了一个比较可疑的注册项“FileSavePath”,键值同样为“MyDocument:”

为了弄明白这些设置究竟是起什么作用,对微信主程序的启动过程进行了后台追踪并分析日志,可以看到微信主程序先后访问了如下文件,暂且记录一下并大概查看了下文件内容

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini
%USERPROFILE%\Documents\WeChat Files\All Users\config\config.data
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\1\config.ini
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\1\kvcomm\config.ini
%USERPROFILE%\Documents\WeChat Files\All Users\config\c9d52eb5.ini

其它文件都是纯文本,内容没什么特别,但是这个文件中记录的是我登录微信后的实际用户文件夹位置,对比下微信刚安装完成时这个文件是空的,可以证明微信启动后显示的默认账户就是你最后一次登录的微信账号信息。

这两个配置文件是在执行账号登录过程中访问到的、但实际根本不存在的配置文件。为了节省篇幅,接下来的实验过程我就不一一截图了,只作文字说明,必要的时候会截图证实。

HKEY_CURRENT_USER\Software\Tencent\WeChat
@FileSavePath = "C:\ProgramData\Tencent\WeChat"

尝试着使用微信设置修改了默认文件保存位置,后台记录到微信在新位置复制了一份原目录中的文件,随后修改了注册表中默认存储位置的键值,同时创建了一个新的配置文件“b928cd74.ini”,记录了修改前的默认文件保存位置。

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\b928cd74.ini

微信重启登录后,会删除原目录,同时修改“config.data”中的默认文件存储位置,至此全部过程结束。现在我们已经了解了相关的配置文件以及注册表项,过程也清楚了,那么需求就方便解决了。

1、自定义微信默认文件保存位置

微信安装结束后不要立即运行,修改配置文件"3ebffe94.ini"以及注册表项“FileSavePath”的取值

#配置文件
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini
#注册表项
HKEY_CURRENT_USER\Software\Tencent\WeChat
@FileSavePath = "MyDocument:"

2、清除微信登录历史

删除微信默认文件保存位置“WeChat Files”下除“All Users”外的所有账号文件夹、删除“All Users”目录中所有的JPEG图像文件(登录过的微信账号头像缓存)、删除"All Users"的子目录“Config”中除“c9d52eb5.ini”之外的所有文件,然后使用如下命令重建“config.data”配置文件。

cd\
#注意替换成自己的微信文件默认保存位置
cd "C:\ProgramData\Tencent\WeChat\WeChat Files\All Users\config"
#输入下面命令回车后按Ctrl+Z再按回车保存即可
copy con config.data

3、还原微信账号数据(含聊天记录等)

重装系统后,只需把之前备份好的“WeChat Files”文件夹复制到微信文件默认保存位置即可,主要不要覆盖“Config”子目录中原有的配置文件“c9d52eb5.ini”,重启后微信会读取并自动修改“Config.data”中的目录位置。

好了,写得差不多了,其实这篇文章内容对于普通用户没有什么用处,主要是给运维人员用,比如帮同事或朋友乃至领导修电脑重做系统后,预装软件,需要在不登录领导微信账号的情况下修改默认文件保存位置并导回原微信的聊天记录,那么这篇文章的内容就可以派上用场了。

清除微信登录历史、自定义默认文件保存位置以及聊天记录还原相关推荐

  1. 在通用计算机内pc是指什么地方,电脑版微信保存的文件在哪里?PC端微信文件保存位置是什么?...

    随着微信越来越融入大家的生活,大家越发依赖微信,人们在微信中进行大量私人社交.办公等行为:聊天.接收文件等.无法使用手机时人们需要用到电脑版微信,在电脑版微信里,接收文件之后如何找到文件的保存位置?P ...

  2. 电脑手机ipad平板百度网盘下载文件保存位置

    百度网盘是我们使用最多的一个网盘,一些新手小白不知道百度网盘下载的文件在哪,下面就和大家分享电脑手机ipad平板百度网盘下载文件保存位置. 1.电脑百度网盘下载的文件保存位置 我们在登录电脑端的百度网 ...

  3. 微信语音转换成mp3文件保存的简单详细步骤

    目录 读者手册 一.前言 二.操作步骤一 把语音转化为silk文件(silk后缀的文件) 1.长按语音收藏(手机操作) 2.找到主页收藏 3.找到收藏的语音 4.转存为笔记 5.点击笔记里面的语音(下 ...

  4. 设置jupyter notebook文件保存位置

    默认位置 在安装完jupyter notebook后,新建文件一般会默认存储在C盘某个位置,此时可以通过os模块来查看新建的文件保存路径,具体如下:         首先新建一个.ipynb文件,然后 ...

  5. Microsoft Edge浏览器文件保存位置记录

    现在流行的Windows 10操作系统基本上都是使用Edge浏览器了,作为一个重要的在线下载工具,我得知道他把我下载的文件保存到什么地方去了.下面就记录下这两天观察到的. 1.要是直接点击下载,另存为 ...

  6. mysql数据库是否可以存文件_Mysql数据库文件保存位置

    Windows下Mysql数据库文件怎么知道保存位置? 用文本编辑器打开my.ini配置文件,你会发现有这么两句话 #Path to installation directory. All paths ...

  7. 改变 Windows 用户默认文件夹位置

    最近对Windows7 系统的默认用户文件夹名称做了改名处理,颇费了些事,最终搞定了. 具体步骤: 1,修改注册表中的默认文件夹名称 进入注册表,定位到计算机\HKEY_LOCAL_MACHINE\S ...

  8. PC微信更改文件默认保存位置后聊天记录丢失

    电脑里存放微信数据的硬盘满了,把微信的储存位置迁移到别的硬盘,重启微信,发现聊天记录只有最近两天的了--以前的微信记录全都没了,但是微信记录中的文件在相应的文件夹中却能找到-- 在网上搜索了很多方法, ...

  9. 修改SAPGUI的默认文件保存/下载路径 - SAP S/4 Basis Tips

    本文在 SAPGUI 7.50 Patch8 测试通过,理论上适用于 SAPGUI 7.20 及以上版本 本文参考自Note https://launchpad.support.sap.com/#/n ...

最新文章

  1. Go中有一个foreach循环吗?
  2. JVM堆新生代分配比例
  3. Java开发技巧:Java如何编译运行?
  4. mysql字符串字段类型_MySQL字符串字段类型选择的一般规则
  5. 浅谈中国市场带来的问题
  6. (转)C#中的Abstract和Virtual函数区分,因我老弄不明白这个问题,所以转到这儿
  7. SVN日常提交工作时需要注意的事项
  8. VDN智能升级的设置及原理
  9. 【python】chardet函数用法
  10. 菜鸟python爬虫scrapy_Python爬虫(Scrapy)爬取秀人网
  11. Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话
  12. 本科论文查重经验分享
  13. Signature on Pocket PC
  14. PS解决“无法使用快速选择,因为没有足够内存(RAM)”
  15. 【号外】联手腾讯故宫试水“互联网+”
  16. WIN7 (64 位)安装AutoCAD2012失败解决方法
  17. Python报错ModuleNotFoundError: No module named ‘pyqtgraph‘
  18. CorelDRAW VBA - 获取页面边框范围内的所有图形
  19. 分布式数据库CAP原理
  20. 如何在微信小程序里实现聊天室功能?

热门文章

  1. 【Nginx】Docker配置ngnix,实现同服务器ip多站点多域名
  2. Protecting the flowers
  3. 泛站群Mysql吃Cpu_泛站群mysql版本
  4. win10搜索计算机中所有excel,WIN10系统中如何在2张EXCEL表格间实现VLOOKUP查找
  5. 【C++】 strcasecmp函数
  6. html 评论和浏览图标,多说自定义CSS动感头像跟多说评论显示User Agent的那些小事...
  7. OSChina 周六乱弹 ——还有一口气,我就学好PHP
  8. PhotoShop 之路径填充
  9. 关于CAD建模的问题
  10. 产生死锁的原因以及快速定位死锁的位置