找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 157|回复: 8

[原创] 🎨图标提取

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式
  1. ========================================================================
  2. 图标提取 v2.1 --By smss 更新:https://pecmd.net/thread-1353.htm
  3. ========================================================================
  4. 用法:IcoE.exe <命令> [文件] <索引> [输出路径]

  5. 选项:(无参数)、-h、-?                   帮助
  6.   -v                                    读取版本信息

  7.   -e [文件] 0                           全提取到对应"程序名"文件夹,命名方式:图标名.ico
  8.   -e [文件] 0 [输出路径]                全提取到指定路径,命名方式:图标名.ico
  9.   -x [文件] 0                           同上,命名方式:序号_图标名.ico
  10.   -x [文件] 0 [输出路径]                同上,命名方式:序号_图标名.ico

  11. 参数说明:
  12.   文件  包含图标的文件路径 (如 Exe、Dll、Sfx、Ime、Icl)
  13.   索引  0=所有图标;正数=从头计数;负数=从尾计数
  14.   路径  文件夹路径(全量提取)或文件路径(单个提取)
  15. ------------------------------------------------------------------------
  16. 错误代码:
  17.   %errorlevel% =  0 : 执行成功
  18.   %errorlevel% = -1 : 参数错误
  19.   %errorlevel% = -2 : 找不到文件
  20.   %errorlevel% = -3 : 资源错误(索引无效/无法加载)
  21. ------------------------------------------------------------------------
  22. 示例:
  23.   1. IcoE.exe <文件>                    提取首个图标到程序所在目录
  24.   2. IcoE.exe <文件> <索引>             返回指定图标的名称(索引≠0)
  25.   3. IcoE.exe <文件> 0                  返回所有图标的名称
  26.   4. IcoE.exe <文件> <索引> <路径>      提取单个图标到指定路径(索引≠0)
  27. ------------------------------------------------------------------------
  28. 全提取: 命名:程序名_序号_图标名.ico
  29.   5. IcoE.exe <文件> 0 <路径>           提取所有图标到指定路径文件夹

  30. -e 模式:        命名:图标名.ico
  31.   6. IcoE.exe -e <文件> 0               提取所有图标到对应"程序名"文件夹
  32.   7. IcoE.exe -e <文件> 0 <路径>        提取所有图标到指定路径文件夹

  33. -x 模式:        命名:序号_图标名.ico
  34.   8. IcoE.exe -x <文件> 0               提取所有图标到对应"程序名"文件夹
  35.   9. IcoE.exe -x <文件> 0 <路径>        提取所有图标到指定路径文件夹
  36. ------------------------------------------------------------------------
  37.   IcoE.exe -v C:\Windows\explorer.exe           读取版本信息
  38.   IcoE.exe C:\Windows\explorer.exe 1 1.ico      提取正数第1个图标
  39.   IcoE.exe C:\Windows\explorer.exe 6            返回第6个图标的名称
  40. ========================================================================
复制代码
  1. @Echo off&::以管理员权限运行,关联至右键,再次运行则删除
  2. reg delete "HKCR\SystemFileAssociations\.exe\shell\提取首个图标" /f >nul 2>&1
  3. if %errorlevel%==1 (
  4.         for %%i in (exe dll ocx cpl sfx ime icl)do (
  5.                 reg add "HKCR\SystemFileAssociations\.%%i\shell\提取首个图标" /v "Icon" /t REG_SZ /d "shell32.dll,43" /f
  6.                 reg add "HKCR\SystemFileAssociations\.%%i\shell\提取首个图标\command" /ve /t REG_SZ /d ""%~dp0IcoE.exe" %%1" /f
  7.                 reg add "HKCR\SystemFileAssociations\.%%i\shell\提取所有图标" /v "Icon" /t REG_SZ /d "shell32.dll,43" /f
  8.                 reg add "HKCR\SystemFileAssociations\.%%i\shell\提取所有图标\command" /ve /t REG_SZ /d ""%~dp0IcoE.exe" -x %%1 0" /f
  9.         )>nul
  10.         echo 添加成功
  11. )else (
  12.         for %%i in (exe dll ocx cpl sfx ime icl)do (
  13.                 if '%%i' neq 'exe' reg delete "HKCR\SystemFileAssociations\.%%i\shell\提取首个图标" /f
  14.                 reg delete "HKCR\SystemFileAssociations\.%%i\shell\提取所有图标" /f
  15.         )>nul
  16.         echo 删除成功
  17. )
  18. pause
复制代码
  1. ::批量提取当前目录下所有程序 所有图标至相对应文件夹
  2. for /r %%i in (*.exe)do IcoE.exe "%%i" 0 "%%~ni"
复制代码



发表于 1 小时前 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层
支持分享
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
有需求就用这个
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
a66 发表于 2026-3-24 15:21
优化后完整代码(保存为 .cmd 运行)

层主神人神速
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
优化后完整代码(保存为 .cmd 运行)

  1. @echo off
  2. chcp 65001 >nul
  3. title 批量提取程序图标 - 优化版

  4. :: 自动在当前目录创建 图标提取结果 文件夹
  5. if not exist "图标提取结果" md "图标提取结果"

  6. echo.
  7. echo ==============================================
  8. echo  正在批量提取当前目录所有 EXE 图标...
  9. echo  提取规则:每个exe取第0个图标,自动命名保存
  10. echo ==============================================
  11. echo.

  12. :: 递归遍历所有exe + 静默提取 + 自动去重 + 错误处理
  13. for /r %%i in (*.exe) do (
  14.     if exist "%%i" (
  15.         IcoE.exe "%%~fi" 0 "图标提取结果\%%~ni" 2>nul
  16.         echo 已提取:%%~nxi
  17.     )
  18. )

  19. echo.
  20. echo ==============================================
  21. echo  提取完成!所有图标保存在 【图标提取结果】 文件夹
  22. echo ==============================================
  23. echo.
  24. pause >nul
复制代码

点评

层主神人神速  详情 回复 发表于 2 小时前
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 4 小时前 | 显示全部楼层
这个厉害,有需求的就是杠杠的,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持| 无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-3-24 18:26

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表