找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20186|回复: 1

[文件操作] 想知道如何批量将横向图片旋转到竖向

[复制链接]
发表于 2020-1-16 14:10:42 | 显示全部楼层 |阅读模式
看了大佬写得批量旋转的,想知道如何用if来写如果宽大于高就旋转90度,高大于宽就不变
@echo off

for /r "D:\sytem2" %%a in (*.jpg) do (
    nconvert.exe -overwrite  -rotate 90 "%%a"
)
发表于 2020-1-16 15:58:32 | 显示全部楼层
  1. /*&cls
  2. @echo off
  3. set info=互助互利,支付宝扫码头像,感谢打赏
  4. rem 有问题,可加QQ956535081及时沟通
  5. title %info%
  6. set "folder=C:\Users\Administrator\Desktop\Test"
  7. if not exist "%folder%" (echo;"%folder%" not found&goto end)
  8. for /f "tokens=1* delims=|" %%a in ('dir /a-d/b/s "%folder%\*.jpg"^|cscript -nologo -e:jscript "%~f0"') do (
  9.     echo;[%%a]"%%b"
  10.     nconvert.exe -overwrite -rotate 90 "%%b"
  11. )
  12. :end
  13. echo;%info%
  14. pause
  15. exit
  16. */
  17. var sa=new ActiveXObject('Shell.Application');
  18. var fso=new ActiveXObject('Scripting.FileSystemObject');
  19. var objFolder=sa.NameSpace(0);
  20. var s=0;
  21. for(var i=0;i<400;i++){if(objFolder.GetDetailsOf(null, i) == '尺寸'){s=i;break;}}
  22. if(s==0){WSH.StdErr.WriteLine('no match');WSH.Quit();}
  23. while(!WSH.StdIn.AtEndOfStream){
  24.     var f=fso.GetFile(WSH.StdIn.ReadLine());
  25.     var objFolder=sa.NameSpace(f.ParentFolder.Path);
  26.     var objItem=objFolder.ParseName(f.Name);
  27.     var size=objFolder.GetDetailsOf(objItem, i).match(/\d+/g);
  28.     if(size){
  29.         if(Number(size[0]) > Number(size[1])){
  30.             WSH.Echo(size.join('x')+ '|' +f.Path);
  31.         }
  32.     }
  33. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 13:13 , Processed in 0.012601 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表