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

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

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

[.ShellClassInfo]
IconResource=${path to the icon file},0
[ViewState]
Mode=
Vid=
FolderType=Generic

但是如果在目录中手动创建这样的文件,自定义图标就不会显示出来。这让我困惑了好一阵子,直到我无意中查看文件属性,意外地发现我通过属性窗口设置图标的文件夹都有 ReadOnly 属性。于是,我尝试手动为desktop.ini直接创建并尝试设置图标的文件夹添加 ReadOnly 属性,结果自定义图标就显示出来。
现在我很纳闷,文件夹上的 ReadOnly 属性代表什么? 在任何 Microsoft 文档中都可以找到这种行为吗?
请注意,我指的是目录文件系统条目上的 ReadOnly 文件属性,它与属性窗口中显示的只读复选框不同。

答案1

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

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

    这实际上是向 Explorer 发出信号,要求其仔细查看。这并不意味着该目录是只读的。

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

  • 微软知识库 256614:无法删除文件夹的只读属性

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

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

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

    当文件夹的属性设置为只读时,Explorer 会请求该文件夹的 Desktop.ini 文件,以查看是否需要设置任何特殊文件夹设置。如果网络共享中有大量文件夹设置为只读,则会导致 Explorer 在等待检索 Desktop.ini 文件时花费比预期更长的时间来呈现该共享的内容。与共享的网络连接越慢,此过程所需的时间就越长,以至于 Explorer 可能会因等待数据而超时,无法呈现任何内容或似乎挂起。


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

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

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

相关内容