ExeIconToFolder 提取exe程序图标,并设置exe所在文件夹图标

ExeIconToFolder 提取exe程序图标,并设置exe所在文件夹图标

2023年12月17日

提取exe程序图标,并设置exe所在文件夹图标

所需第三方程序

IconsExtract - EXE图标提取 (nirsoft.net)

Restart Explorer --- 重新启动资源管理器 (sordum.org)

iconsext.exe、Rexplorer.exe路径需要添加到环境变量中或使用绝对地址路径需要添加到环境变量中或使用绝对地址

代码

@echo off
setlocal enabledelayedexpansion
rem 检查是否有文件拖放到脚本上
if 1%1 equ 1 (echo 请将文件拖放到此脚本上。&pause>nul&exit)
rem 获取拖放到脚本上的 .exe 文件路径
set "exeFilePath=%1"
@REM echo 完整路径:%exeFilePath%
rem 获取 .exe 文件所在目录
for %%F in ("%exeFilePath%") do set "exeDirectory=%%~dpF"
set "exeDirectory=%exeDirectory:~0,-1%
echo 所在目录:%exeDirectory%
rem 获取 .exe 文件的文件名(不包含扩展名)
for %%F in ("%exeFilePath%") do set "exeFileName=%%~nF"
@REM echo 文件名称:%exeFileName%
rem 使用 IconsExtract 提取图标到当前目录
iconsext.exe /save "%exeFilePath%" "%exeFileName%" -icons -coursors
rem 获取生成的图标文件夹路径
set "iconFolder=%exeFileName%"
rem 在图标文件夹中查找 ICO 文件
set "maxSize=0"
set "iconFile="
REM 遍历文件夹中的所有 ICO 文件
for %%I in ("%iconFolder%\*.ico") do (
set "iconSize=%%~zI"
if !iconSize! gtr !maxSize! (
set "maxSize=!iconSize!"
set "iconFile=%%~fI"
)
set "iconFileName=%exeFileName%.ico"
)
echo %iconFile%
REM 判断ICO文件是否存在
if defined iconFile (
cls
echo 最大的图标文件是: %iconFile%
echo 文件大小: %maxSize% 字节
rem 复制 ICO 文件到当前目录并设置目录图标
copy "%iconFile%" "%iconFileName%" > nul
echo 图标已提取:%iconFileName%
echo 创建Desktop.ini文件内容
if exist "desktop.ini" (
attrib -s -h desktop.ini
del "desktop.ini"
)
echo [.ShellClassInfo] > "desktop.ini"
echo IconResource=%iconFileName%,0 >> "desktop.ini"
echo [ViewState] >> "desktop.ini"
echo FolderType=StorageProviderGeneric >> "desktop.ini"
echo 设置文件夹属性为系统和隐藏
@REM attrib +s +h %iconFileName%
attrib +s +h "desktop.ini"
attrib +r %exeDirectory%
echo 刷新文件夹以应用更改
@REM start Rexplorer.exe
) else (
echo 未找到图标文件。
)
rem 删除生成的图标文件夹
if exist "%iconFolder%" rmdir /s /q "%iconFolder%"
@REM pause

__EOF__

  • 本文作者: 生命在等待中延续
  • 本文链接: https://www.cnblogs.com/guyk/p/17909473.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • posted @   生命在等待中延续  阅读(356)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 本地部署 DeepSeek:小白也能轻松搞定!
    · 如何给本地部署的DeepSeek投喂数据,让他更懂你
    · 在缓慢中沉淀,在挑战中重生!2024个人总结!
    · 从 Windows Forms 到微服务的经验教训
    · 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
    点击右上角即可分享
    微信分享提示