紧跟此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像素的文件名列表。
答案 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