因此,我正在编写一个遍历指定目录树的应用程序,我正在尝试处理文件夹访问权限的异常,我遇到了一个编译器返回的文件夹,该文件夹的目录为C:\ ProgramData\Application Data
有人知道这个文件夹是什么吗?它似乎不存在于windows资源管理器中。好像,文件夹不在那里。它不是隐藏的。只是不在那里。我可以使用提升的命令提示符进入文件夹,但是当我使用“dir”命令查看文件夹中包含的内容时,cmd返回:
“C:\程序数据\应用程序数据目录
找不到文件“
我很想知道这个文件夹是什么…
最佳答案
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]
如您所见,应用程序数据是指向ProgramData的连接点。windows包含许多类似的连接点,以便向后兼容较旧的应用程序。
连接点上的安全权限明确禁止列出文件,这就是无法获取其内容列表的原因:
C:\ProgramData>icacls "Application Data" /L
Application Data Everyone:(DENY)(S,RD)
Everyone:(RX)
NT AUTHORITY\SYSTEM:(F)
BUILTIN\Administrators:(F)
此外,连接点被标记为系统并隐藏:
C:\ProgramData>attrib /L "Application Data"
SH I C:\ProgramData\Application Data
这就是为什么探险家不显示它。(即使配置为显示隐藏项,资源管理器也不会显示标记为隐藏和系统的连接点。)