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

如何从所有目录及子目录复制指定文件并保留原目录结构?

保留目录结构复制指定文件的方法

如果需要把所有子目录里的指定类型文件(比如.xls)复制到新目录,同时保留原有的子目录结构,可以用以下两种实用方法:

方法一:find + cp --parents

cp的--parents参数会保留文件的相对路径,并自动创建目标路径中不存在的子目录。执行以下命令:

find . -name "*.xls" -exec cp --parents {} newDir/ \;

举个例子:如果当前目录下有文件s1/s2/report.xls,执行命令后,它会被复制到newDir/s1/s2/report.xls,无需手动创建s1/s2目录。

方法二:rsync(更高效)

rsync适合处理大量文件的场景,命令逻辑更清晰:

rsync -av --include="*/" --include="*.xls" --exclude="*" ./ newDir/

参数说明:

  • -av:归档模式(保留权限、时间戳等)+ 显示详细同步信息
  • --include="*/":确保所有子目录结构被保留
  • --include="*.xls":仅包含.xls类型的文件
  • --exclude="*":排除其他所有非指定文件

如果目标目录newDir不存在,rsync会自动创建它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:31:00