Extract Icon

From psadt | Evergreen Application Management
Jump to navigation Jump to search

About

Powershell.png

Powershell function to extract an icon from an executable. File size is minimal.


Function

Function ExtractIcon {

    Param (
    [Parameter(Mandatory=$true)]
    [string]$folder
    )

    [System.Reflection.Assembly]::LoadWithPartialName('System.Drawing') | Out-Null

    md $folder -ea 0 | Out-Null

    dir $folder *.exe -ea 0 -rec |
      ForEach-Object {
        $baseName = [System.IO.Path]::GetFileNameWithoutExtension($_.FullName)
        Write-Progress "Extracting Icon" $baseName
        [System.Drawing.Icon]::ExtractAssociatedIcon($_.FullName).ToBitmap().Save("$folder\$BaseName.ico")
    }

}