一键批处理图片的脚本(将指定目录中的图片处理成要求的分辨率)

使用的是imagemagick来处理图片

#BatchPicHandle v1.0
#---by Flytree
#设置powershell 窗口大小
$win=$Host.UI.RawUI.WindowSize
$win.Height=10
$win.Width=30
$Host.UI.RawUI.Set_windowsize($win)
cd C:UsersflytreeDesktopPicDown
[system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
Get-ChildItem C:UsersflytreeDesktopPicDown | ForEach-Object -Process{
if($_ -is [System.IO.FileInfo])
    {
    $picname = $_.BaseName
        if($_.Name.Contains("png")){
            $objPic = [System.Drawing.Image]::FromFile($_.FullName)
            Write-Host 'Deal PNG Image'
            #如果是方图
            if($objPic.width -eq $objPic.height){
            Write-Host 'Find Logo'
            magick convert $_.Name -background white -flatten -resize x150 ../PicHandle/$picname.jpg
            }
            #如果是横图
            if($objPic.width -gt $objPic.height){
            Write-Host 'Find horizontal'
            magick convert $_.Name -resize 550 ../PicHandle/$picname.jpg
            }
            #如果是竖图
            if($objPic.width -lt  $objPic.height){
            Write-Host 'Find vertical'
            magick convert $_.Name -resize x550 ../PicHandle/$picname.jpg
            }
            #释放并删除文件
            $objPic.Dispose()
            Remove-Item -Force $_.FullName
        }
    }
}

 然后修改注册表,使得双击运行,就能快速的使用脚本了。

原文地址:https://www.cnblogs.com/flytree/p/13304891.html