使用PowerShell获取具有特定维度的图像文件列表作为文件对象

时间:2012-12-06 10:30:27

标签: .net powershell imagemagick

紧跟此Smart image search via Powershell

我有以下PowerShell脚本: -

Add-Type -Assembly System.Drawing

function Get-Image {
    $input | ForEach-Object { [Drawing.Image]::FromFile($_.FullName) }
}

Get-ChildItem -Path 'C:\Images' -Filter *.jpg -Recurse | Get-Image | ? { $_.Width -gt 1280 -or $_.Height -gt 1280 }

问题是,这会返回一个Image对象列表。

我基本上想要一个宽度或高度大于1280像素的文件对象列表(最终将是图像)。

我需要以某种方式将图像对象转换回文件对象吗?

最后通is是一个大于1280像素的文件名列表。

1 个答案:

答案 0 :(得分:3)

function Get-Image{ 
process {
          $file = $_
          [Drawing.Image]::FromFile($_.FullName)  |
          ForEach-Object{           
            $_ | Add-Member -PassThru NoteProperty FullName ('{0}' -f $file.FullName)
          }
         }
}

然后

Get-ChildItem -Path 'C:\Images' -Filter *.jpg -Recurse | Get-Image | ? { $_.Width -gt 1280 -or $_.Height -gt 1280 } | select -expa Fullname | get-item