'C:\ProgramData' 和 'C:\Users\All Users' 是否相同?我两个都需要吗?

Ben*_*ers 45 windows-7

我的硬盘上有这两个目录,看起来是一样的,每个都占用2.4GB

C:\Users\All Users
C:\ProgramData
Run Code Online (Sandbox Code Playgroud)

为什么两者都存在?我可以摆脱其中之一吗?

Pat*_*our 73

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。” 程序说:“好吧,我知道所有用户配置文件称为所有用户,它位于配置文件目录中,所以它必须是C:\Users\All Users.”。真的,程序应该对 Windows 说的是,“Windows,给我所有用户配置文件的路径”,Windows 会说,“ C:\ProgramData。”

  • 程序和数据之间缺乏空间也是一个很好的接触...... (7认同)

shu*_*ler 13

它们是同一个文件夹。Users\All Users 是到 \ProgramData 的连接点。从应用程序兼容性:连接点和备份应用程序

All Users legacy folder junction requirements: 

Sym links creation location     Destination  
..\Users\All Users              ..\ProgramData
Run Code Online (Sandbox Code Playgroud)

出于遗留原因,Users\All Users 是指向 ProgramData 文件夹的链接。它是一个连接点(UNIX 世界中的符号链接)而不是数据的副本。我的 Windows 7 (x64) 计算机上只有 ProgramData 文件夹。我猜删除连接点是安全的,但不是必需的。我不建议删除 ProgramData。


Han*_*ood 12

该文件夹C:\Users\All Users是指向C:\ProgramData. 它们是同一个文件夹的两个名称。它存在是因为许多旧程序使用硬编码路径来访问不再存在的文件夹。

您可以删除C:\Users\All Users,但不会从中获得任何收益。它几乎不占用硬盘空间。

千万不能删除C:\ProgramData