我想删除特定文件夹及其所有子文件夹中的所有* .jpg文件。宽度不等于800,高度不等于600(仅留下800x600 jpg图像)。
有人可以告诉我如何在Powershell中执行此操作吗?
我知道我可以用
删除* .jpg图像Get-ChildItem -Path .\ -Filter *.jpg -Recurse | foreach ($_) {remove-item $_.fullname}
但我似乎无法找到如何选择图像的高度/宽度。
答案 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 $_
}
}