文件夹图标、desktop.ini 和文件属性

tru*_*ian 2 windows icons ntfs file-attributes

当我们为文件夹设置自定义图标时,desktop.ini会在其中生成一个文件,其结构如下:

[.ShellClassInfo]
IconResource=${path to the icon file},0
[ViewState]
Mode=
Vid=
FolderType=Generic
Run Code Online (Sandbox Code Playgroud)

但如果您在目录中手动创建这样的文件,则不会显示自定义图标。它让我困惑了很长一段时间,直到我不小心查看了文件属性。令人惊讶的是,我发现我通过属性窗口设置图标的文件夹都有一个ReadOnly属性。然后我尝试手动为尝试desktop.ini直接创建设置图标的文件夹添加只读属性,并显示自定义图标。
现在我想知道,文件夹上的 ReadOnly 属性代表什么?在任何 Microsoft 文档中都可以找到此行为吗?
请注意,我正在谈论目录文件系统条目上的只读文件属性,它与属性窗口中显示的只读复选框不同。

use*_*686 5

它对操作系统的其余部分没有任何意义,专门用作资源管理器查找文件的指示符desktop.ini

  • 老新事物:为什么文件夹的只读属性如此奇怪?

    这实际上是向 Explorer 发出的信号,要求他们更加仔细地观察。这并不意味着该目录是只读的。

    如果文件夹设置了只读或系统标志,则资源管理器将查找描述文件夹自定义的desktop.ini 文件。出于性能原因,资源管理器仅在目录具有 +R 或 +S 标志时才执行此操作。(这对于慢速网络非常重要。)

  • MS KB 256614:无法从文件夹中删除只读属性

    Windows 资源管理器使用只读属性来确定文件夹是否是自定义的。

  • MS KB 326549:无法查看或更改文件夹的只读或系统属性

    与文件的只读属性不同,Windows、Windows 组件和附件以及其他程序通常会忽略文件夹的只读属性。[...]“只读”和“系统”属性仅由 Windows 资源管理器用来确定该文件夹是否为特殊文件夹,例如 Windows 自定义其视图的系统文件夹(例如“我的文档”、“收藏夹”、“字体”) 、下载的程序文件),或使用文件夹属性对话框的自定义选项卡自定义的文件夹。因此,Windows 资源管理器不允许您查看或更改文件夹的只读或系统属性。

    当文件夹设置了只读属性时,它会导致资源管理器请求该文件夹的 Desktop.ini 以查看是否需要设置任何特殊的文件夹设置。可以看出,如果将大量文件夹设置为只读的网络共享,则可能会导致资源管理器在等待桌面检索时花费比预期渲染该共享内容的时间更长的时间。 ini 文件。与共享的网络连接速度越慢,此过程花费的时间就越长,以至于资源管理器可能会超时等待数据并且不呈现任何内容或看起来挂起。


请注意,我正在谈论目录文件系统条目上的只读文件属性,它与属性窗口中显示的只读复选框不同。

事实并非如此;复选框使用相同的属性。只有较新的 Windows 版本更改了复选框将应用该属性的对象(即,它仅将其应用于内部文件,而不是目录本身),但它仍然是相同的属性。

在较旧的 Windows 版本中,例如 Windows 98 SE,该复选框直接控制目录本身的属性。