Board logo

标题: [文件操作] 想知道如何批量将横向图片旋转到竖向 [打印本页]

作者: giveordead    时间: 2020-1-16 14:10     标题: 想知道如何批量将横向图片旋转到竖向

看了大佬写得批量旋转的,想知道如何用if来写如果宽大于高就旋转90度,高大于宽就不变
@echo off

for /r "D:\sytem2" %%a in (*.jpg) do (
    nconvert.exe -overwrite  -rotate 90 "%%a"
)
作者: zaqmlp    时间: 2020-1-16 15:58

  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. }
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2