问题来源
好久没用这台笔记本了,发现128gSSD怎么只剩20g空间了,用WinDirStat看了下磁盘使用统计,
PS:ProgramData是个隐藏文件夹,文件夹选项里勾选显示隐藏文件才能看到。
探其本质
应用程序的数据存放位置
- Application Data Folders
- Documents Folders
- The Registry
- The Application's Own Program Folder
作为一个非码农,平时只会Windows的图形界面操作,使用软件也只会点击按钮,软件是如何在内存、磁盘上运行计算全都一窍不通。今天查看了几个相关资料才理解,任何一个软件运行都需要数据,比如本地安装一个有道字典可以划词翻译Word中的英文单词。如果可以离线的话,那么是因为软件提前下载安装了一个字典放在电脑中,然后划词的时候去调用这本字典,而这个字典存放在哪里呢?主要就是上面列出的几个文件夹,具体位置由软件的作者写定。
溯其历史
-
Application Data Folders
电脑上安装的任何一个软件其实都是一个程序而已,程序运行都会产生数据,它们可以存放在磁盘的任何一个地方,这些由程序员写代码的时候决定。为了统一规范,过去一般都存放在Application Data Folder(C:\Users\username\AppData\),同个电脑上的不同用户有各自的APPData文件夹。
APPData -
Documents Folders
一些应用程序会把缓存数据存放在Documents Folders(中文:我的文档)(C:\Users\username\Documents)下,比如大多数的游戏程序,会存储一些游戏的操作设置、截图、录制视频等各种数据,方便用户备份/编辑这些配置文件,不至于下一次安装得重新配置,那不是烦死人!
我的文档 -
The Registry
大量的应用将它们的配置数据存储在注册表中,这些数据可以设定为多用户共享或者是各个用户私有,当然注册表中的settting数据一般比较小。
注册表 -
The Application's Own Program Folder
其实,95/98/xp以前的应用程序都把这些数据存放在它的安装文件夹下,这样会多一个config文件夹,这个在后来被指出非常不安全,提倡禁止这种操作,当然还是有不少软件是这么写的。
config文件夹
回到ProgramData
文章的初衷是了解ProgramData文件夹里到底存放了什么东西,为什么占用那么大的空间。
了解了上面的一些文件夹后,讲起来就非常简单了。ProgramData跟APPData基本类似,都是用来存放一些setting文件、缓存文件的,不同的是ProgramData是所有用户共享的,没有私有的文件夹。
在XP时代,存放在C:\Documents and Settings\All Users\Application Data,从Vista开始,将这些应用数据都转移到C:\ProgramData下。在win10中,微软做了优化,如果你在资源管理器中输入C:\Documents and Settings\All Users\Application Data,系统会自动重定向到C:\ProgramData。
一般应用程序需要获取的系统权限配置文件也放在C:\ProgramData下。
Roaming
一般最重要的一些文件都会放在C:\Users\username\AppData\Roaming下面,可用来备份重要数据。
最后贴一张WinDirStat的图,非常酷炫!
WinDirStat
网友评论