如果在Ubuntu或Centos上使用RAR,这是压缩单个文件夹(内部包含子文件夹)的命令,或者是压缩单个存档中目录内所有文件夹的命令:

rar a -m0 -r name.rar

哪里

-m0 是压缩级别
-r 递归模式

但是,如果我要压缩每个文件夹?使用哪些命令?

我想在压缩每个文件夹时保留目录树。

我也尝试了此命令,但是它没有执行任何操作,但是在终端中显示为:

terminal http://imageshack.com/a/img661/6514/nzFaVA.png
for folder in */; do echo rar a -m0 -r "${folder%/}.rar" "$folder"; done

参数替换${folder%/}用于去除文件夹名称末尾的“/”。但是此代码不起作用。

资料来源:http://www.linuxquestions.org/questions/linux-newbie-8/compress-folder-in-rar-652612/

附注:我使用的是Centos或Ubuntu,而不是Windows。

最佳答案

您可能只需要删除echo:

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

08-27 00:37
查看更多