如何让 Windows 读取复制的 desk.ini 文件?

如何让 Windows 读取复制的 desk.ini 文件?

我有一个带有自定义图标的文件夹,我相信它的设置存储在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,而文件又必须具有属性HiddenSystem设置。我后来发现,如果在目标文件夹中找到attrib,它+s会在 上设置这两个属性,但不会。desktop.iniPathMakeSystemFolder

作为一名拥有 40 多年经验的汇编和 C++ 软件设计师和工程师,我应该已经知道这PInvoke只能完成一项任务!因此,正如 MS 文章指出的那样(如果我们只按照他们希望我们的方式去读,而不是按照我们想要的方式去读),我们还必须确保desktop.ini文件属性也设置为SystemHidden。正当我觉得“我很聪明!”

相关内容