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


    好像不太可以。还是重新按数字的顺序,依次排列了。

TOP

回复 5# 灯塔彭于晏


    你先试试其他几个代码是否达到目标?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

用powershell 更方便
  1. powershell "Add-Type -AssemblyName System.Drawing;dir *.jpg,*.bmp,*.png,*.gif |%{$_.Name,[System.Drawing.Image]::FromFile($_).size -join ' '}"
复制代码
微信图片_20201229083132.jpg {Width=1920, Height=887}
微信图片_20201229083143.jpg {Width=960, Height=1920}
微信图片_20201229083146.jpg {Width=887, Height=1920}
微信截图_20201229082837.png {Width=688, Height=527}
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 2# Batcher


    抱歉,我没描述清楚。 我是想按照桌面的图片的顺序来输出结果,但代码的结果是重新排序了。 可以看截图,明显顺序和桌面是不一样的。
希望可以和桌面一样。

TOP

保存为 Test.js, 双击运行
  1. var Img = new ActiveXObject('WIA.ImageFile');
  2. var fso = new ActiveXObject('Scripting.FileSystemObject');
  3. var arr = [];
  4. var e = new Enumerator( fso.GetFolder('.').Files );
  5. for(;!e.atEnd();e.moveNext()){
  6.     var file = e.item().Name;
  7.     if( !/\.(?:jpg|bmp|png|gif)$/i.test(file) ) continue;
  8.     Img.LoadFile(file);
  9.     arr.push(file + ' ' + Img.Width + 'x' + Img.Height + 'x' + Img.HorizontalResolution);
  10. }
  11. fso.OpenTextFile('图片信息.txt', 2, true).WriteLine( arr.join('\r\n') );
  12. WSH.Echo('Done');
复制代码

TOP

本帖最后由 WHY 于 2020-12-30 21:31 编辑

for %%a in (%ext%) do ... 应该是先按%ext%中的扩展名排序、扩展名相同再按文件名排序的,先jpg,然后bmp,再然后png,
把第7行改成:
  1. (for /f "delims=" %%a in ('dir /b /on *.jpg,*.bmp,*.png,*.gif') do (
复制代码
试试行不行。

TOP

回复 1# 灯塔彭于晏


    你希望改成什么效果呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表