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

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

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

想要提取文件夹下全部图片(png或jpg)的宽和高,输出到一个txt里,输出内容包括:文件名、宽、高。

单个的示例:

第三方命令
nconvert -info name.jpg
或者安装imagemagick后,
identify name.jpg

TOP

回复 2# 523066680


    谢谢您的帮助,有办法直接一个批处理搞定嘛?

TOP

本帖最后由 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
复制代码

TOP

返回列表