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

如何用CMD/PowerShell复制文件夹结构并省略一级子文件夹

跳过一级子文件夹复制目录结构(CMD/PowerShell实现)

PowerShell 实现方案

通过遍历源目录下的一级子文件夹(Land、Water),将其内部的二级文件夹直接复制到目标Animals目录中,保留文件结构:

# 替换为实际的源路径和目标路径
$sourceRoot = "C:\Your\Source\Animals"
$targetRoot = "C:\Your\Target\Animals"

# 创建目标Animals目录(不存在则自动创建)
New-Item -ItemType Directory -Path $targetRoot -Force | Out-Null

# 遍历一级子目录,复制其下的所有二级文件夹到目标目录
Get-ChildItem -Path "$sourceRoot\*" -Directory | ForEach-Object {
    Get-ChildItem -Path $_.FullName -Directory | ForEach-Object {
        Copy-Item -Path $_.FullName -Destination $targetRoot -Recurse -Force
    }
}

说明

  • 第一层遍历:获取Animals下的所有一级子目录(Land、Water)
  • 第二层遍历:获取每个一级子目录下的二级文件夹(Dog、Tiger等)
  • Copy-Item的-Recurse参数确保复制文件夹内所有文件及子结构,-Force覆盖已存在的文件/文件夹

CMD 实现方案

使用嵌套for循环遍历目录层级,结合xcopy完成复制:

@echo off
:: 替换为实际的源路径和目标路径
set "sourceRoot=C:\Your\Source\Animals"
set "targetRoot=C:\Your\Target\Animals"

:: 创建目标Animals目录(忽略已存在的报错)
mkdir "%targetRoot%" 2>nul

:: 遍历Animals下的一级子目录
for /d %%i in ("%sourceRoot%\*") do (
    :: 遍历每个一级子目录下的二级文件夹
    for /d %%j in ("%%i\*") do (
        :: 复制二级文件夹到目标Animals目录
        xcopy "%%j\*" "%targetRoot%\%%~nj\" /E /I /H /Y
    )
)

说明

  • for /d:遍历指定路径下的所有目录
  • xcopy参数说明:
    • /E:复制所有子目录(包括空目录)
    • /I:如果目标不存在,自动创建目录
    • /H:复制隐藏和系统属性的文件
    • /Y:覆盖文件时不提示确认

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:01:21