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

如何用PowerShell按扩展名批量复制不同目录下的文件到同一文件夹?

PowerShell批量复制分散子目录下的XML文件

直接使用Copy-Item(最简洁高效)

PowerShell支持在路径中使用通配符,直接用以下命令即可实现类Unix中cp /parent/*/result/*.xml /outputdirectory/的效果:

Copy-Item -Path "/parent/*/result/*.xml" -Destination "/outputdirectory/"
  • 默认-Recurse参数为$false,只会复制匹配到的目标文件,不会连带复制目录结构
  • 若之前使用Copy-Item报错,大概率是误用了-Recurse参数(会递归复制整个目录树而非单个文件),或是路径格式不符合当前环境要求(Windows环境建议用反斜杠\,类Unix环境用正斜杠/)

更灵活的管道写法(适配额外处理场景)

如果需要对文件做过滤、重命名等额外操作,可先通过Get-ChildItem定位目标文件,再管道传递给Copy-Item:

Get-ChildItem -Path "/parent/*/result/*.xml" -File | Copy-Item -Destination "/outputdirectory/"
  • -File参数确保只选中文件,避免误操作目录
  • 若存在重名文件,可通过脚本块动态修改目标文件名防止覆盖:
    Get-ChildItem -Path "/parent/*/result/*.xml" -File | Copy-Item -Destination { "/outputdirectory/$($_.Directory.Parent.Name)_$($_.Name)" }
    
    该命令会给文件名加上对应机器名前缀(例如生成hostname001_hostname001.xml)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:24:53