'C:\ProgramData' 和 'C:\Users\All Users' 一样吗?我都需要这两个吗?

'C:\ProgramData' 和 'C:\Users\All Users' 一样吗?我都需要这两个吗?

我的硬盘上有这两个目录,它们看起来是相同的,每个目录占用 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

相关内容