Powershell:删除某些尺寸的图像

时间:2014-10-11 13:03:56

标签: image powershell

我想删除特定文件夹及其所有子文件夹中的所有* .jpg文件。宽度不等于800,高度不等于600(仅留下800x600 jpg图像)。

有人可以告诉我如何在Powershell中执行此操作吗?

我知道我可以用

删除* .jpg图像
Get-ChildItem -Path .\ -Filter *.jpg -Recurse | foreach ($_) {remove-item $_.fullname}

但我似乎无法找到如何选择图像的高度/宽度。

1 个答案:

答案 0 :(得分:3)

您可以使用System.Drawing.Image .NET对象:

$(Get-ChildItem -Filter *.jpg).FullName | ForEach-Object { 
    $img = [Drawing.Image]::FromFile($_); 
    $dimensions = "$($img.Width) x $($img.Height)"

    If ($dimensions -eq "800 x 600") {
        Remove-Item $_
    }
}