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

如何通过Powershell实现单文件夹文件批量复制到多个匹配目标目录

PowerShell 单源文件夹批量复制到多匹配目标目录解决方案

原脚本问题说明

  • 内层多余的Get-ChildItem $dir.Fullname会读取目标目录下的现有子项,将源文件复制到这些子项中,而非你需要的\\files\CA*\Files\Files根目录
  • 匹配目标目录时不需要加-Recurse参数,已明确路径规则的情况下加该参数会额外匹配到深层子目录,导致多余的复制操作

修正后脚本

# 定义源文件夹路径
$source = 'C:\Documents'
# 匹配所有CA州对应符合规则的目标目录
$destinationList = Get-ChildItem -Path \\files\CA*\Files\Files -Directory
# 遍历所有目标目录执行复制
foreach ($targetDir in $destinationList) {
    # 复制源目录下全部内容到当前目标目录
    Copy-Item -Path "$source\*" -Destination $targetDir.FullName -Force -Recurse -WhatIf
}

调整说明

  • Copy-Item的-Path参数改为$source\*,仅复制源文件夹内的所有内容,不会把源文件夹本身嵌套复制到目标目录中
  • 移除内层冗余循环,直接对匹配到的目标目录执行复制操作
  • 移除Get-ChildItem的-Recurse参数,避免匹配到不需要的深层子目录

注意事项

  • 测试阶段保留*-WhatIf参数,脚本运行后会先输出待执行的复制操作,确认路径、操作完全符合预期后,再删除-WhatIf*参数执行实际复制
  • 如需适配其他州的复制需求,只需修改路径规则中的州代码即可,例如将CA*改为TX*即可匹配所有德克萨斯州的办事处目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:36:03