我有大约200多个zip格式的共享软件文件,每个文件都包含一个名为“ FILE_ID.DIZ”的文件。我需要知道如何在不手动执行的情况下将每个实例重命名为小写的“ file_id.diz”-我已经走了这条路线,这非常耗时。该文件必须小写,因为我正在使用的BBS程序忽略FILE_ID.DIZ作为描述,因为它是大写的。如果我手动将其更改为小写,说明将成功导入。
我知道rar有一个重命名开关,但随后我必须将所有zip文件批量转换为rar,然后再转换回zip。我并没有完全排除这个问题,但是解决这个问题似乎还有很长的路要走。
我找到了“ zip_rename”的手册页,看起来可以解决问题,但我不知道如何实际实现。
我拒绝在Windows机器上执行此操作-我做不到,也不会做...这是原理;)。
无论如何,感谢您的宝贵时间!
此技术不会重命名文件,而是添加.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] 删除。
我来说两句