尝试压缩目录中的所有子目录,而不是压缩包含文件夹的子目录

尝试压缩目录中的所有子目录,而不是压缩包含文件夹的子目录

我正在尝试使用以下文本将目录内的所有子目录打包成各自单独的 .rar 文件:

for dir in */
do
base=$(basename "$dir")
rar a "${base}" "$dir"
done

我遇到的唯一问题是,当它尝试对其中没有文件但里面有文件夹的子目录进行 rar 压缩时,它会给出错误 。例如, 。包含文件夹的子目录不会WARNING: No Files被压缩,但会给出无文件错误。我可以对正在运行的命令做些什么来解决这个问题?/main directory/subdirectory/rared/folder/actual files/

答案1

使用 -r 标志将添加子目录:

for dir in */; do rar a -r "${dir%/}.rar" "$dir"; done

相关内容