什么是 Programdata/Application Data 文件夹?

3 windows explorer command cmd prompt

因此,我正在编写一个迭代指定目录树的应用程序,并且我正在尝试处理文件夹访问权限的异常,并且我遇到了编译器返回的一个文件夹,其中包含 C:\ProgramData\Application Data 目录

有谁知道这个文件夹是什么?它似乎不存在于 Windows 资源管理器中。就像,该文件夹不存在。它没有隐藏。它只是不存在。我能够使用提升的命令提示符进入该文件夹,但是当我使用“dir”命令查看该文件夹包含的内容时,CMD 返回:

“C:\ProgramData\Application Data 目录

文件未找到”

我很好奇这个文件夹是什么......

Har*_*ton 5

dir /a命令是你的朋友:

C:\ProgramData>dir /a
 Volume in drive C has no label.
 Volume Serial Number is 848A-BBB7

 Directory of C:\ProgramData

23/05/2015  03:38 pm    <DIR>          .
23/05/2015  03:38 pm    <DIR>          ..
14/05/2015  10:28 pm    <JUNCTION>     Application Data [C:\ProgramData]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,Application Data 是一个指向 ProgramData 的连接点。Windows 包含许多类似的连接点,以便向后兼容较旧的应用程序。

连接点上的安全权限明确禁止列出文件,这就是为什么您无法获取其内容列表的原因:

C:\ProgramData>icacls "Application Data" /L
Application Data Everyone:(DENY)(S,RD)
                 Everyone:(RX)
                 NT AUTHORITY\SYSTEM:(F)
                 BUILTIN\Administrators:(F)
Run Code Online (Sandbox Code Playgroud)

此外,连接点被标记为“系统”和“隐藏”:

C:\ProgramData>attrib /L "Application Data"
   SH   I    C:\ProgramData\Application Data
Run Code Online (Sandbox Code Playgroud)

这就是为什么资源管理器不显示它。(看来资源管理器不显示标记为隐藏和系统的连接点,即使配置为显示隐藏项目也是如此。)