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

如何使用Python复制文件夹结构的第一层目录(不含子内容)

问题结论

完全有可实现的方案,核心目标是仅在b目录下创建和a目录下a1、a2、a3同名的空文件夹,不复制这些文件夹内部的任何子文件、子目录,不同操作环境下的具体实现方式如下:

命令行快速实现

Windows 环境

  • 命令提示符(CMD)下可直接使用xcopy命令:
xcopy a\* b\ /t /e /level:1

参数说明:/t 表示仅复制目录结构不复制任何文件,/e 表示会创建空目录,/level:1 限制仅复制a目录下的第一级子目录,不会递归读取a2、a3内部的子文件夹。

  • PowerShell环境可使用以下命令:
Get-ChildItem -Path a -Directory | ForEach-Object { New-Item -ItemType Directory -Path (Join-Path b $_.Name) }

逻辑是遍历a目录下所有一级子文件夹,直接在b目录下创建同名空文件夹,全程不会读取原文件夹内的任何内容。

Linux/macOS 环境

  • 终端下可使用find命令快速创建:
find a -maxdepth 1 -type d ! -path "a" -exec mkdir -p b/{} \;

参数说明:-maxdepth 1 限定仅查找a目录下的第一级目录项,排除a目录本身后,逐个在b路径下创建对应同名空文件夹,不会递归处理深层目录。

  • 也可使用rsync通过过滤规则实现:
rsync -av -f'+ */' -f'- *' --include='a/*/' --exclude='a/*/*/' a/ b/

规则会过滤掉所有文件和二级及以上的子目录,仅同步a下的一级子文件夹本身。

手动操作方法

如果不想使用命令,也可以手动操作:

  • 先打开a目录,选中a1、a2、a3三个文件夹,按住Ctrl(macOS为Option键)拖拽到b目录完成复制
  • 复制完成后进入b目录,分别打开a1、a2、a3,删除里面所有被带过来的子文件、子文件夹即可,该方法适合子目录数量少的场景。

内容的提问来源于stack exchange,提问作者Luca.D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:39:53