我在主目录中有多个 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