如何通过命令行批量重命名多个zip归档文件中的特定文件?

73

我有大约200多个zip格式的共享软件文件,每个文件都包含一个名为“ FILE_ID.DIZ”的文件。我需要知道如何在不手动执行的情况下将每个实例重命名为小写的“ file_id.diz”-我已经走了这条路线,这非常耗时。该文件必须小写,因为我正在使用的BBS程序忽略FILE_ID.DIZ作为描述,因为它是大写的。如果我手动将其更改为小写,说明将成功导入。

我知道rar有一个重命名开关,但随后我必须将所有zip文件批量转换为rar,然后再转换回zip。我并没有完全排除这个问题,但是解决这个问题似乎还有很长的路要走。

我找到了“ zip_rename”的手册页,看起来可以解决问题,但我不知道如何实际实现。

我拒绝在Windows机器上执行此操作-我做不到,也不会做...这是原理;)。

无论如何,感谢您的宝贵时间!

Roadmr

此技术不会重命名文件,而是添加.DIZ文件的小写版本。希望它足以满足您的目的。

这利用了zip的“默认添加”功能,如果您指定了现有的zip文件,它将在其中添加文件。因此,如果您这样做:

zip doom.zip file_id.diz

并且doom.zip存在,它只会将file_id.diz文件添加到现有内容中。

这将在您的zip文件所在的目录中运行:

for i in  *zip; do rm FILE_ID.DIZ;  unzip "$i" FILE_ID.DIZ; mv FILE_ID.DIZ file_id.diz; zip -d "$i" FILE_ID.DIZ; zip "$i" file_id.diz; done

请注意,为获得最佳结果,.zip文件名均不应包含空格。

您也可以将其放在一个文件中,例如,rename.sh(这样看起来更好,更容易理解):

#!/bin/bash
for i in  *zip; do
   rm FILE_ID.DIZ
   unzip "$i" FILE_ID.DIZ
   mv FILE_ID.DIZ file_id.diz
   zip -d "$i" FILE_ID.DIZ
   zip "$i" file_id.diz
done

然后您可以说 bash rename.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从命令行批量重命名文件?

来自分类Dev

通过命令行依次重命名多个文件

来自分类Dev

在OS X命令行上删除多个ZIP归档文件中的文件

来自分类Dev

如何使用命令行批量重命名很多文件?

来自分类Dev

如何使用命令行重命名文件

来自分类Dev

如何使用命令行轻松重命名多个文件?

来自分类Dev

如何使用Mac命令行编写重命名多个文件的脚本

来自分类Dev

如何使用命令行轻松重命名多个文件?

来自分类Dev

linux使用bash脚本或命令行一线批量重命名文件

来自分类Dev

linux使用bash脚本或命令行一线批量重命名文件

来自分类Dev

在Windows中批量重命名多个文件?

来自分类Dev

如何使用单个命令或命令行重命名从文件列表中提取的文件

来自分类Dev

如何使用Winzip命令行对文件夹中的特定文件进行ZIP压缩?

来自分类Dev

命令行:用于文件重命名的常规命令

来自分类Dev

批量重命名特定目录中的文件

来自分类Dev

如何在Linux下通过命令行在相应命名的目录中组织文件

来自分类Dev

批量重命名多个文件

来自分类Dev

使用命令行重命名多个文件夹

来自分类Dev

命令行重命名韩文文件名

来自分类Dev

重命名Mac命令行文件

来自分类Dev

命令行重命名韩文文件名

来自分类Dev

如何通过命令行重命名目录?

来自分类Dev

在命令行中重命名多个目录

来自分类Dev

如何通过命令行删除特定文件?

来自分类Dev

如何批量重命名文件?

来自分类Dev

如何批量重命名文件?

来自分类Dev

如何通过命令行提交文件?

来自分类Dev

在命令行中删除特定文件

来自分类Dev

在命令行中删除特定文件

Related 相关文章

热门标签

归档