Board logo

标题: [其他] 批处理如何提取文件夹下全部图片的分辨率(宽高)? [打印本页]

作者: xfgongzuo    时间: 2015-12-16 12:05     标题: 批处理如何提取文件夹下全部图片的分辨率(宽高)?

小白问题求助,感谢,衷心祝福。。。

想要提取文件夹下全部图片(png或jpg)的宽和高,输出到一个txt里,输出内容包括:文件名、宽、高。
作者: 523066680    时间: 2015-12-16 12:39

单个的示例:

第三方命令
nconvert -info name.jpg
或者安装imagemagick后,
identify name.jpg
作者: xfgongzuo    时间: 2015-12-16 12:59

回复 2# 523066680


    谢谢您的帮助,有办法直接一个批处理搞定嘛?
作者: pcl_test    时间: 2015-12-16 13:33

本帖最后由 pcl_test 于 2017-8-21 19:19 编辑
  1. /*&cls
  2. @echo off
  3. ::如果包括子文件夹里的图片,则改为dir /a-d /b /s *.jpg
  4. dir /a-d /b *.jpg | cscript -nologo -e:jscript "%~f0"
  5. pause&exit /b
  6. */
  7. var files = WScript.StdIn.ReadAll().split(/\r?\n/);
  8. var fso = new ActiveXObject("Scripting.FileSystemObject");
  9. var shell = new ActiveXObject("Shell.Application");
  10. var objFolder = shell.NameSpace(0);
  11. var i = 0;
  12. while(1){if (objFolder.GetDetailsOf(null, i) == "尺寸"){break}else i++;}
  13. var str='';
  14. for(var f in files){
  15.     var fd = fso.GetFile(files[f]).Path
  16.     var objFolder = shell.Namespace(fd.replace(/[^\\]*$/,''));
  17.     var objItem = objFolder.ParseName(fd.replace(/.*\\/,''));
  18.     var size = objFolder.GetDetailsOf(objItem,i);
  19.     str+=files[f]+size+'\r\n';
  20. }
  21. WSH.Echo(str);
复制代码
  1. @echo off
  2. powershell ^
  3.     $wi=New-Object -com 'WIA.ImageFile';^
  4.     dir . -inc *.jpg,*.jpeg,*.png^|%%{^
  5.         $wi.LoadFile($_);^
  6.         $_.Name+' '+$wi.Width+'x'+$wi.Height;^
  7.     }
  8. pause
复制代码





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