如何使用 robocopy 进行选择性文件复制

时间:2021-02-06 11:30:00

标签: robocopy

我正在使用 omake 进行我的项目构建 作为交付构建的一部分,我需要将一些与交付相关的文件复制到一个文件夹中

我如何使用 robocopy 执行,其中我只能复制感兴趣的文件(通过在我拥有的列表上运行 for 循环来选择) 进入文件夹。

List_paths = 文件路径1
文件路径2
.
文件路径N

对于 list_paths 中的文件 %exec robocopy $(file,A) $(destin) 结束于

通过这样做 robocopy 总是通过在 eCh 文件的末尾和 destin 文件夹添加 \ 来抱怨我没有这样的文件。

我知道 robocopy 可以很好地将文件从一个文件夹复制到另一个文件夹,但我有条件只复制文件夹中的选择性文件(我有路径列表)

请帮忙解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果您有一个包含完整 patnames(即 list.txt)的文本文件,其中包含内容:

d:\temp\a.sql
d:\temp\b.sql
d:\temp\c.sql

和一个这样的批处理文件 roboDo.bat:

@echo off

SET dest=d:\temp\temp\

FOR /f "useback tokens=1" %%f IN (`type list.txt`) DO (
    ECHO copying %%~nxf from %%~dpf to %dest%
    ROBOCOPY /NP /NJH /NJS %%~dpf %dest% %%~nxf >NUL
)

运行批处理文件将输出:

D:\TEMP>robodo
copying a.sql from d:\TEMP\ to d:\temp\temp\
copying b.sql from d:\TEMP\ to d:\temp\temp\
copying c.sql from d:\TEMP\ to d:\temp\temp\