如何重新打包多个 zip 文件

如何重新打包多个 zip 文件

我在主目录中有多个 zip 文件需要递归重新打包。这些文件包含空格、撇号、下划线等。

advzip不起作用,因为它抱怨不支持的压缩方法(这是它们需要重新打包的原因)。所有这些文件都解压了,只需要使用一些自动化方法重新压缩/打包,因为有数千个。

这些文件最初是在 Windows 下使用 MP3+G Toolz 为卡拉 OK 库创建的。

操作系统:Linux Mint 18
脚本编写:新手

for file in *.zip
do
 unzip -j "$file"
 rm -f "$file"
 zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
 rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done

以上是我正在寻找的,对于大多数 par 来说都是如此。但由于我不擅长使用脚本,我不确定如何为子目录中的所有 zip 文件制作它。文件名示例:

SC0000-01 - Someone - Something.zip

zip 中的文件是

SC0000-01 - Someone - Something.cdg
SC0000-01 - Someone - Something.mp3

答案1

当提到 advzip 时,我假设您使用 Linux。在这里,您可以编写一个简单的脚本来循环每个文件

for f in *; 
 do; 
 unzip $f; 
done

希望这会有所帮助,否则建议提供更多细节。

答案2

除非我把这件事弄得比它需要的更复杂:

find . -name "*.zip" -print0 | while read -d $'\0' file
do
 unzip -j "$file"
 rm -f "$file"
 zip -mq "$file" *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
 rm -f *.mp3 *.cdg *.MP3 *.CDG *.Mp3 *.Cdg
done

相关内容