免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6108 | 回复: 9
打印 上一主题 下一主题

如何批量将7-zip存储压缩的zip文件转换为windows压缩的zip文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-26 11:54 |只看该作者 |倒序浏览
5可用积分
如题, 千千静听5.5.2不支持7-z的zip文件, 好像只支持windows压缩的。

如何能批量将7-zip存储压缩的zip文件转换为windows压缩的zip文件?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2009-11-26 11:56 |只看该作者

回复 #1 ghostsaint 的帖子

解压再压缩,这样应该可以了。

没有研究过千千听,偶尔用foobar2000。

多shell, 少music.

论坛徽章:
0
3 [报告]
发表于 2009-11-26 12:12 |只看该作者
写点代码

论坛徽章:
0
4 [报告]
发表于 2009-11-26 13:46 |只看该作者
上百个zip文件, 手动解压再压缩太麻烦; 知道在批处理里怎样操作windows压缩/解压就好了

论坛徽章:
0
5 [报告]
发表于 2009-11-26 13:54 |只看该作者

回复 #4 ghostsaint 的帖子

用winrar命令行啊,解压再压缩

论坛徽章:
0
6 [报告]
发表于 2009-11-26 13:56 |只看该作者
7z e urfile
tar -cf ... ...

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2009-11-26 14:02 |只看该作者
装WINRAR,它提供命令行方式的rar.exe

C:\>rar.exe

RAR 3.40    版权 (c) 1993-2004 为 Alexander Roshal 所有    8 Sep 2004
共享软件版本       键入 RAR -? 或 RAR /? 或 RAR | MORE 可获得帮助

用法:      rar <命令> -<开关 1> -<开关 N> <档案文件> <文件...>
               <@列表文件...> <释放路径\>

<命令>
  a             添加文件到档案文件中
  c             添加档案文件注释
  cf            添加文件注释
  cw            写入档案文件注释到文件中
  d             从档案文件中删除文件
  e             释放文件到当前目录
  f             刷新档案文件内的文件
  i[par]=<str>  在档案文件内查找字符串
  k             锁定档案文件
  l[t,b]        列表档案文件 [技术支持信息, 梗概信息]
  m[f]          移动到档案文件 [仅文件]
  p             打印文件到标准输出设备
  r             修复档案文件
  rc            重建丢失的卷
  rn            重命名已归档的文件
  rr[N]         添加数据恢复记录
  rv[N]         创建恢复卷
  s[名称|-]     转换档案文件为自释放格式
  t             测试档案文件
  u             更新档案文件内的文件
  v[t,b]        列表档案文件详细资料 [技术支持信息, 梗概信息]
  x             以完整路径释放文件

<开关>
  -             停止开关扫描
  ac            压缩或释放后清除「存档」属性
  ad            追加档案文件名到目标路径
  ag[格式]      使用当前日期做为档案文件名
  ao            添加带有「存档」属性的文件
  ap<路径>      设置档案文件内部路径
  as            同步档案文件内容
  av            设置用户身份校验 (仅用于注册版)
  av-           禁止用户身份校验检查
  c-            禁止注释显示
  cfg-          禁止读取配置
  cl            转换名字为小写字母
  cu            转换名字为大写字母
  df            归档后删除来源文件
  dh            打开共享文件
  ds            禁止固定档案文件的名称排序
  e<属性>       设置要排除的文件属性
  ed            不添加空目录
  en            不要放置 '档案文件末尾' 块
  ep            排除路径
  ep1           排除基准目录
  ep2           扩充为完整路径
  ep3           展开包含驱动器字母的完整路径
  f             刷新文件
  hp[密码]      加密文件数据和标头
  idp           禁止百分比显示
  ieml[地址]    通过电子邮件发送档案文件
  ierr          发送所有讯息至标准错误输出设备
  ilog[文件名]  记录错误讯息到文件 (只在注册版中可用)
  inul          禁止所有讯息
  ioff          完成操作后关闭计算机
  isnd          允许声音提示
  k             锁定档案文件
  kb            保留损坏的文件
  m<0..5>       设置压缩等级 (0-存储...3-默认...5-最大)
  mc<参数>      设置高级压缩参数
  md<大小>      以 KB 为单位的字典大小 (64,128,256,512,1024,2048,4096 或 A
  ms[ext;ext]   指定要保存的文件类型
  o+            覆盖已存在的文件
  o-            不覆盖已存在的文件
  oc            置值 NTFS 压缩属性
  os            保存 NTFS 数据流
  ow            保存或还原所有者和组
  p[口令]       设置口令
  p-            不询问口令
  r             包含所有子目录
  r0            只包含与通配符匹配的所有子目录
  rr[N]         添加数据恢复记录
  rv[N]         创建恢复卷
  s[<N>,v[-],e] 创建固定格式档案文件
  s-            禁止创建固定格式档案文件
  sfx[名字]     创建自释放档案文件
  si[名字]      从标准输入设备 (stdin) 读取数据
  t             归档后测试文件
  ta<日期>      处理在 YYYYMMDDHHMMSS 格式中 <指定日期> 后修改的文件
  tb<日期>      处理在 YYYYMMDDHHMMSS 格式中 <指定日期> 前修改的文件
  tk            保持原有的档案文件时间
  tl            将档案文件时间设为最新文件的时间
  tn<时间>      处理比 <指定时间> 更新的文件
  to<时间>      处理比 <指定时间> 旧的文件
  ts<m,c,a>[N]  保存或恢复文件时间属性 (修改、创建及访问时间)
  u             更新文件
  v             创建分卷压缩时自动检测大小或列出所有的分卷
  v<大小>[k,b]  创建分卷, 分卷大小 = <大小> * 1000 [*1024, *1]
  vd            创建分卷前先清除磁盘内容
  ver[n]        文件版本控制
  vn            使用旧样式的卷命名方案
  vp            在每个分卷压缩前暂停
  w<路径>       指定工作目录
  x<文件>       排除指定的文件
  x@            从标准输入设备读取要排除的文件名
  x@<列表>      排除指定列表文件中的文件
  y             所有的询问都回答是
  z<文件>       从文件读取档案文件注释

C:\>

论坛徽章:
0
8 [报告]
发表于 2009-11-26 15:12 |只看该作者
thanks everyone!

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2009-11-26 23:28 |只看该作者
  1. @echo off
  2. rem 7-Zip的默认安装目录为C:\Program Files\7-Zip\7z.exe
  3. set My7z=C:\Program Files\7-Zip\7z.exe
  4. rem 假设待转换的.zip文件位于C:\test\
  5. rem 先用7z.exe把它们解压缩并存放到C:\test\unzip_folder\
  6. "%My7z%" e -oC:\test\unzip_folder C:\test\*.zip
  7. rem 自己去下载一个GNU的zip.exe并放到C:\UnxUtils\usr\local\wbin\
  8. set MyZip=C:\UnxUtils\usr\local\wbin\zip.exe
  9. rem 遍历解压缩之后的文件并重新压缩
  10. for /r C:\test\unzip_folder %%a in (*.*) do (
  11.   rem 重新压缩之后的文件存放到C:\test\rezip_folder\
  12.   "%MyZip%" -j "C:\test\rezip_folder\%%~na.zip" "%%a"
  13. )
复制代码

论坛徽章:
0
10 [报告]
发表于 2009-11-28 01:06 |只看该作者
试验了一下,winrar就可以转换,而且是图形界面。3.9

运行winrar,选中某。7z 选转换即可,转换导向中支持?和*点完成即可。基本上不需要命令。

用我实验的例子,一个7z压缩包,转换成最大压缩比的zip,转换后文件大了3倍。
手工解压这个7z,再手工最大压缩比压缩,一样是3倍。

原a.7z=5M
目标b.zip=15M
而c.rar=6M

结论:
7zip压缩 【文本多的文件】压缩率要比rar好10%,其他格式以前测过比rar略差。而时间普遍比rar长。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP