[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 新手 求帮忙写一个 批量缩放图片的bat

放到很多图片的根目录  按照批量缩放50%

没听懂意思 可以说得再详细些吗?
NotFun

TOP

  1. #@&cls&powershell "type '%~0'|out-string|iex"&pause&exit
  2. Add-Type -AssemblyName "System.Drawing"
  3. dir|?{$_.Extension -match "\.(jpg|jpeg|png|bmp|gif)"}|%{
  4. $img = [System.Drawing.Image]::FromFile($_.name)
  5. [int]$newWidth=$img.width/2
  6. [int]$newHeight=$img.height/2
  7. $bmpResized = New-Object System.Drawing.Bitmap($newWidth, $newHeight)
  8. $graph = [System.Drawing.Graphics]::FromImage($bmpResized)
  9. $graph.DrawImage($img, 0, 0, $newWidth, $newHeight)
  10. $Codec = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | Where {$_.MimeType -eq 'image/jpeg'}
  11. $ImageEncoder = [System.Drawing.Imaging.Encoder]::Quality
  12. $encoderParams = New-Object System.Drawing.Imaging.EncoderParameters(1)
  13. $encoderParams.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter($ImageEncoder, 90)
  14. $bmpResized.Save('new'+$_.name, $Codec, $($encoderParams))
  15. }
复制代码

TOP

回复 1# a5050554


nconvert.exe 和 test.bat 放在图片所在的目录下
http://bcn.bathome.net/s/tool/index.html?key=nconvert
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /s /a-d *.jpg *.png *.bmp') do (
  4.     nconvert -quiet -overwrite -resize 50%% 50%% "%%i"
  5. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

没听懂意思 可以说得再详细些吗?
liuyu18195 发表于 2021-10-15 20:33



    您好,我的意思是 按照百分比比例批量缩放图片大小  比如缩放50%

TOP

回复  a5050554


nconvert.exe 和 test.bat 放在图片所在的目录下
Batcher 发表于 2021-10-15 21:45



    收到谢谢 哥

TOP

idwma 发表于 2021-10-15 21:10



    谢谢

TOP

返回列表