You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将不同子文件夹中的RAR文件解压至对应子文件夹?

批量解压RAR文件到对应子目录的解决方案

你当前使用的命令find . -name "*.rar" -exec unrar x -o- {} ;会将所有文件解压到主目录,原因是find在主目录执行unrar,而unrar默认以当前工作目录作为解压目标路径。

解决方法有两种:

方法一:使用find的-execdir参数(推荐)

-execdir会自动切换到目标文件所在的目录后再执行解压命令,直接实现将文件解压到对应子目录:

find . -name "*.rar" -execdir unrar x -o- {} \;

方法二:手动切换目录(兼容老版本find)

如果你的系统不支持-execdir,可以通过bash -c手动切换到RAR文件所在目录再解压:

find . -name "*.rar" -exec bash -c 'cd "$(dirname "$1")" && unrar x -o- "$(basename "$1")"' _ {} \;

参数说明

  • -o-:覆盖已有文件且不弹出确认提示,和你原命令保持一致,若不需要覆盖可改为-o+(不覆盖)或移除该参数。

内容的提问来源于stack exchange,提问作者Tobias Andersson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 12:59:50