找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23969|回复: 9

[文件操作] BAT如何按要求处理图片文件,然后压缩成zip格式文件?

[复制链接]
发表于 2014-4-20 09:08:55 | 显示全部楼层 |阅读模式
有一批图片文件,如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目录就新建,压缩文件命名格式为图片名前两位+年月日+小时分钟秒
发表于 2014-4-20 11:36:56 | 显示全部楼层

  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
复制代码
 楼主| 发表于 2014-4-21 10:35:42 | 显示全部楼层
能不能不用set "char=46"这句,而使用照片名前两位,因为有很多这样的文件夹下的文件啊
发表于 2014-4-21 11:42:18 | 显示全部楼层

  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
复制代码
 楼主| 发表于 2014-4-21 13:08:12 | 显示全部楼层
这样转换以后压缩文件名是rar格式的,而不是zip格式的,还是不行啊
发表于 2014-4-21 14:17:40 | 显示全部楼层
回复 4# xxpinqz


    rar.exe不行,需要改成winrar.exe
 楼主| 发表于 2014-4-21 15:12:44 | 显示全部楼层
 楼主| 发表于 2014-4-21 15:13:19 | 显示全部楼层
出现了错误
 楼主| 发表于 2014-4-21 15:49:18 | 显示全部楼层
终于成功了,谢谢
发表于 2014-4-21 21:14:21 | 显示全部楼层
回复 9# zstjhh


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:42 , Processed in 0.039191 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表