用 PowerShell 从 EXE 提取程序图标

使用容易被遗忘的 Icon.ExtractAssociatedIcon 方法,把可执行文件内嵌的图标导出为 PNG。

Windows图标System.DrawingPowerShell低风险
对 exe 路径调用 [System.Drawing.Icon]::ExtractAssociatedIcon,再用 ToBitmap() 转换并以 PNG 保存。

01命令

命令
$ Add-Type -AssemblyName System.Drawing; $ico=[System.Drawing.Icon]::ExtractAssociatedIcon('C:\Windows\System32\notepad.exe'); $ico.ToBitmap().Save('C:\temp\notepad-icon.png',[System.Drawing.Imaging.ImageFormat]::Png)

02作用说明

Windows 把每个程序的图标内嵌在可执行文件里,ExtractAssociatedIcon 无需任何资源编辑器就能直接读取。该方法只返回 32x32 尺寸,要拿更大或多尺寸图标需解析原始资源,但对写文档、README 或快捷方式已足够。ToBitmap 会把它转换成普通图像,可保存为任意 GDI+ 格式。

03风险

风险低风险
使用条件Windows PowerShell 5.1 (System.Drawing requires .NET Framework); ExtractAssociatedIcon returns only the 32x32 variant

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-09-17 · 分类: 媒体

06相关方案