Board logo

标题: [文件操作] BAT如何按要求处理图片文件,然后压缩成zip格式文件? [打印本页]

作者: zstjhh    时间: 2014-4-20 09:08     标题: BAT如何按要求处理图片文件,然后压缩成zip格式文件?

有一批图片文件,如466021.jpg 46001306.jpg,4605879123.jpg等等,文件名前两个数字都是一样的,现在要求首先按文件名生成一个index.txt文件,每行的规则是:文件名,大小
466021.jpg,471595
46001306.jpg,537856
4605879123.jpg,56156
然后将所有图片文件和index.txt文件压缩成zip格式的压缩文件(使用winrar),放在d:\zp目录下,d盘没有zp目录就新建,压缩文件命名格式为图片名前两位+年月日+小时分钟秒
作者: xxpinqz    时间: 2014-4-20 11:36

  1. @echo off
  2. set "rar=C:\Program Files\WinRAR\Rar.exe"
  3. set "char=46"
  4. (for %%a in (%char%*.jpg) do echo,%%a,%%~za)>index.txt
  5. md d:\zp\ 2>nul
  6. "%rar%" a -ag d:\zp\%char%.zip %char%*.jpg index.txt
复制代码

作者: zstjhh    时间: 2014-4-21 10:35

能不能不用set "char=46"这句,而使用照片名前两位,因为有很多这样的文件夹下的文件啊
作者: xxpinqz    时间: 2014-4-21 11:42

  1. @echo off
  2. set "rar=C:\Program Files\WinRAR\Rar.exe"
  3. (for %%a in (*.jpg) do set "char=%%a"&echo,%%a,%%~za)>index.txt
  4. md d:\zp\ 2>nul
  5. "%rar%" a -ag d:\zp\%char:~,2%.zip *.jpg index.txt
复制代码

作者: zstjhh    时间: 2014-4-21 13:08

这样转换以后压缩文件名是rar格式的,而不是zip格式的,还是不行啊
作者: DAIC    时间: 2014-4-21 14:17

回复 4# xxpinqz


    rar.exe不行,需要改成winrar.exe
作者: zstjhh    时间: 2014-4-21 15:12

[attach]7174[/attach]
作者: zstjhh    时间: 2014-4-21 15:13

出现了错误
作者: zstjhh    时间: 2014-4-21 15:49

终于成功了,谢谢
作者: DAIC    时间: 2014-4-21 21:14

回复 9# zstjhh


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。




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