ExeIconToFolder 提取exe程序图标,并设置exe所在文件夹图标
2023年12月17日
提取exe程序图标,并设置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
rem 获取生成的图标文件夹路径
set "iconFolder=%exeFileName%"
rem 在图标文件夹中查找 ICO 文件
set "iconFile="
for %%I in ("%iconFolder%\*.ico") do (
set "iconFile=%%~fI"
set "iconFileName=%exeFileName%.ico"
goto :foundIcon
)
:foundIcon
if defined iconFile (
rem 复制 ICO 文件到当前目录并设置目录图标
copy "%iconFile%" "%iconFileName%" > nul
echo 图标已提取:%iconFileName%。
rem 使用 NirCmd 设置目录图标
@REM nircmd.exe seticon "%exeDirectory%" "%exeFileName%.ico"
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 刷新文件夹以应用更改
start Rexplorer.exe
) else (
echo 未找到图标文件。
)
rem 删除生成的图标文件夹
if exist "%iconFolder%" rmdir /s /q "%iconFolder%"
pause
标签:exe,echo,ExeIconToFolder,ini,rem,desktop,图标
From: https://www.cnblogs.com/guyk/p/17909473.html