Robocopy 从多个子文件夹复制到单个输出文件夹?

Robocopy 从多个子文件夹复制到单个输出文件夹?

我正在使用 robocopy 搜索大量要转换的旧 Illustrator 文件。它们位于无数文件夹中,我想将它们全部复制到新的工作文件夹中,以便可以批量处理它们。

我当前的命令如下:

robocopy "C:\Files" "C:\IllustratorConversion" *.ai /E /dcopy:T /MT

但是,这也会创建所有子文件夹;可能需要转换的文件可能有 600 个,但文件夹和子文件夹却超过 7000 个!

是否有任何 robocopy 标志可以用来避免这种情况?例如,仍然可以搜索文件之内子文件夹,但将它们全部复制到单身的导出目录。

答案1

为此,您需要使用另一种方法来选择文件,然后将其传递给 Robocopy 或其他实用程序进行移动。

使用 PowerShell 执行此操作可能看起来像这样:

Get-ChildItem -Path C:\Files\*.ai -Recurse | Move-Item -Destination C:\IllustratorConversions -Force

您可以使用 WhereObject 进一步过滤/指定要选择传递给 Move 命令的内容。我还没有在 PS 管道中使用 robocopy,但如果您必须使用 robocopy,我会创建一个简单的循环,遍历 Get-ChildItem 找到的每个项目,然后将其传递给 robocopy,并设置适当的标志。

参考:

相关内容