我有一个带有自定义图标的文件夹,我相信它的设置存储在desktop.ini
。我想将同一个图标应用于一堆文件夹。所以我想简单地复制desktop.ini
到任何其他文件夹就可以了,但 Windows 资源管理器不会通过读取新复制的desktop.ini
文件来更新文件夹图标。
如何让 Windows 读取复制的 desk.ini 文件?
答案1
为每个文件夹应用只读属性。在命令提示符窗口中,输入:
属性 +r 路径\文件夹
这将使 Explorer 处理desktop.ini
该文件夹的文件。
答案2
就我而言,我需要将几十个文件夹设置为只读属性,因此我想出了几个命令行来帮助更快地完成此操作。
这里我想对 D: 中的每个文件夹执行此操作,只需将其替换为您要影响的文件夹组的特定路径:
attrib +r D:* /s /d
首先,这将赋予每个事物只读属性
attrib -r D:* /s
然后这将从每个单个中删除只读文件(不包括文件夹)。
答案3
有道理。微软告诉我们使用attrib +s folderPath
(参考),对我来说效果很好(从技术上讲,使用+s
或+r
两者均可,因为被+s
转置到+r
文件夹上)。
但话又说回来,他们说要用PathMakeSystemFolder
PInvoke
做同样的事情,但我试过,直到奶牛来到谷仓清空它们肿胀的乳房,但它“失败了”,虽然结果Boolean
表明成功(确保文件路径字符串PathMakeSystemFolderW
被编组到LPWSTR
)。
它甚至设置了文件夹的Read-Only
标志,文件夹甚至需要考虑文件dekstop.ini
,而文件又必须具有属性Hidden
和System
设置。我后来发现,如果在目标文件夹中找到attrib,它+s
会在 上设置这两个属性,但不会。desktop.ini
PathMakeSystemFolder
作为一名拥有 40 多年经验的汇编和 C++ 软件设计师和工程师,我应该已经知道这PInvoke
只能完成一项任务!因此,正如 MS 文章指出的那样(如果我们只按照他们希望我们的方式去读,而不是按照我们想要的方式去读),我们还必须确保desktop.ini
文件属性也设置为System
和Hidden
。正当我觉得“我很聪明!”