如何批量将每个文件夹的首张图片设置为文件夹图标(Win8.1)
批量设置文件夹图标(Windows 8.1)
操作步骤
- 新建一个文本文件,将下面的代码复制粘贴进去
- 把文本文件的后缀名从
.txt改成.bat(比如命名为SetFolderIcons.bat) - 将这个批处理文件放到所有目标文件夹的上级目录(比如你有数千个文件夹都在
D:\素材库里,就把bat文件放在这个目录下) - 双击运行该批处理文件,等待执行完成
批处理代码
@echo off setlocal enabledelayedexpansion :: 定义支持的图片格式,可按需添加/删除 set "image_types=jpg png bmp gif" :: 遍历当前目录下的所有子文件夹 for /d %%d in (*) do ( echo 正在处理: %%d set "target_image=" :: 按名称排序取文件夹内首张图片 for %%f in ("%%d\*.jpg" "%%d\*.png" "%%d\*.bmp" "%%d\*.gif") do ( if not defined target_image ( set "target_image=%%~nxf" goto :icon_found ) ) :icon_found :: 找到图片后生成配置文件并设置属性 if defined target_image ( :: 写入文件夹图标配置 echo [.ShellClassInfo] > "%%d\desktop.ini" echo IconResource=!target_image!,0 >> "%%d\desktop.ini" :: 设置文件属性确保配置生效 attrib +h +s "%%d\desktop.ini" attrib +s "%%d" echo 已设置图标: !target_image! ) else ( echo 未找到有效图片,跳过该文件夹 ) ) echo 处理完成,按任意键退出... pause >nul
注意事项
- 脚本会自动处理上级目录下的所有子文件夹,按名称排序取首张图片(对应你提到的1、2...命名的首图)
- 若需要支持更多图片格式,修改代码里的
image_types变量,同时在for %%f的括号里添加"%%d\*.格式" - 执行完成后,右键空白处选刷新,或重启Windows资源管理器(任务管理器中找到
Windows资源管理器右键重启)即可看到图标变化 - 确保你拥有目标文件夹的读写权限,否则无法生成配置文件
内容的提问来源于stack exchange,提问作者FNizz02
相关产品推荐
相关产品推荐

