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

如何使用Robocopy将多子文件夹中的指定文件复制到单个目标文件夹?

如何使用Robocopy将多子文件夹中的指定文件复制到单个目标文件夹?

你遇到的这个情况太常见了——Robocopy的设计就是默认保留源目录的层级结构,所以用/E参数肯定会把所有嵌套的文件夹(哪怕是空的)都带到目标路径里,确实很头疼。可惜Robocopy本身没有专门的「扁平化复制」参数,但我们可以用Windows命令行的循环命令配合它,轻松实现你要的效果:搜索所有子文件夹里的.ai文件,然后全部复制到同一个目标文件夹,不创建任何子目录。

直接用这条命令就行(在命令提示符里直接运行):

for /r "C:\Files" %f in (*.ai) do robocopy "%~dpf" "C:\IllustratorConversion" "%~nxf" /dcopy:T /MT

我给你拆解一下这条命令的关键部分:

  • for /r "C:\Files":递归遍历C:\Files目录下的所有子文件夹
  • %f in (*.ai):筛选出所有.ai格式的文件
  • robocopy "%~dpf" "C:\IllustratorConversion" "%~nxf":这里%~dpf代表当前文件所在的源目录,%~nxf是当前文件的「文件名+扩展名」,这样Robocopy只会把单个文件复制到目标文件夹,不会带过来任何子目录结构
  • /dcopy:T和/MT:保留了你原来需要的参数,分别用于保留文件的时间戳、启用多线程复制提升效率

如果是要写在批处理(.bat)文件里运行,记得把命令里的%f改成%%f,批处理里的循环变量需要双百分号:

@echo off
for /r "C:\Files" %%f in (*.ai) do robocopy "%%~dpf" "C:\IllustratorConversion" "%%~nxf" /dcopy:T /MT

最后提醒一句:如果不同子文件夹里有重名的.ai文件,Robocopy默认会覆盖目标文件夹里已有的同名文件。要是想避免覆盖,可以根据需求加参数:

  • 加上/XN:不替换目标文件夹里比源文件新的文件
  • 加上/XO:不替换目标文件夹里比源文件旧的文件

备注:内容来源于stack exchange,提问作者plamobot

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:48:15