我的硬盘上有这两个目录,它们看起来是相同的,每个目录占用 2.4GB
C:\Users\All Users
C:\ProgramData
为什么两者都存在?我可以删除其中一个吗?
答案1
实际上仅C:\ProgramData
作为“真实”文件夹存在。C:\Users\All Users
是指向的符号链接C:\ProgramData
。也就是说,C:\Users\All Users
指向C:\ProgramData
,因此如果您导航到前者,您将自动重定向到后者。这就是它们看起来相同的原因。
C:\ProgramData
被称为“所有用户配置文件”,是 Windows 7 正常运行所必需的。如果 Windows 允许您删除它,请不要删除它。
C:\Users\All Users
是为了向后兼容。编写不良的应用程序无法正确检索所有用户配置文件的路径。它们说:“Windows,请告诉我配置文件目录的名称。” Windows 说:“ C:\Users
。”程序说:“好的,我知道所有用户配置文件名为 All Users,并且位于配置文件目录中,因此它必须是C:\Users\All Users
。”实际上,程序应该对 Windows 说的是:“Windows,请告诉我所有用户配置文件的路径”,而 Windows 会说:“ C:\ProgramData
。”
答案2
它们是同一个文件夹。Users\All Users 是 \ProgramData 的连接点。从应用程序兼容性:连接点和备份应用程序:
All Users legacy folder junction requirements:
Sym links creation location Destination
..\Users\All Users ..\ProgramData
由于遗留原因,Users\All Users 是指向 ProgramData 文件夹的链接。它是一个连接点(UNIX 世界中的符号链接),而不是数据的副本。我的 Windows 7 (x64) 计算机上只有 ProgramData 文件夹。我猜删除连接点是安全的,但没有必要。我不建议删除 ProgramData。
答案3
文件夹C:\Users\All Users
是指向 的符号链接C:\ProgramData
。它们是同一文件夹的两个名称。之所以存在,是因为许多旧程序使用硬编码路径来访问不再存在的文件夹。
您可以删除C:\Users\All Users
,但不会从中获得任何好处。它几乎不占用任何硬盘空间。
做不是删除C:\ProgramData
。