看到一个软件,把目录改成了自己的产品图标,觉得方式还不错,能够凸显产品,于是跟着试了试。

看起来还像模像样的。
然后解析下实现机制。
依赖的是该目录下desktop.ini文件进行配置。Windows系统默认通过 desktop.ini 文件读取文件夹的自定义设置。当你手动为文件夹设置自定义图标时,系统会自动在该文件夹中生成这个文件,并写入相关配置。具体用法参看官网。
示例
[.ShellClassInfo]
ConfirmFileOp=0
NoSharing=1
IconFile=Folder.ico
IconIndex=0
InfoTip=Some sensible information.
注:
官网中给出的是IconFile,不过win10中手工设置,更改的是IconResource。设置IconFile无效,不晓得这个出入怎么带来的。
IconResource可以使用图片。也可以使用exe、dll,不过要带上资源索引编号,因为内部会有多个图标资源
参考:
了解机制之后,就可以通过脚本做相关实现了。
@echo off
set "target_folder=CustomFolder"
set "icon_path=custom.ico"
:: 创建desktop.ini
echo [.ShellClassInfo] > "%target_folder%\desktop.ini"
echo IconResource=%icon_path%,0 >> "%target_folder%\desktop.ini"
:: 设置文件属性,隐藏、系统级、只读
attrib +H +S +R "%target_folder%\desktop.ini"
:: 刷新图标缓存
taskkill /IM explorer.exe /F
del /f /q "%localappdata%\IconCache.db"
start explorer.exe
浙公网安备 33010602011771号