批量复制到所有文件夹

时间:2015-05-12 11:38:29

标签: windows batch-file copying file-copying file-moving

我需要批量复制两个文件夹,让我们将它们称为A和B,从F:\Sourcefolder\F:\destinationfolder子文件夹(而不是目标文件夹本身)。

现在我知道批量复制文件(例如file.exe)时应该看起来像这样

for /r "F:\destinationfolder" %%i in (.) do @copy "F:\Sourcefolder\file.exe" "%i"

在每个子文件夹中都有很多文件。将A和B文件夹复制到所有子文件夹后,我想将子文件夹中的所有文件移动到其文件夹中的文件夹A.这可能吗?

1 个答案:

答案 0 :(得分:0)

XCOPY命令专为文件夹复制而设计,FOR /D将列出level1文件夹:

for /d %%a in ("F:\destinationfolder\*") do (
    XCOPY "F:\Sourcefolder\A\*" "%%~fa" /s /i
    XCOPY "F:\Sourcefolder\B\*" "%%~fa" /s /i
)

用于递归复制(所有子文件夹):

for /r /d "F:\destinationfolder\" %%a in (*) do (
    XCOPY "F:\Sourcefolder\A\*" "%%~fa" /s /i
    XCOPY "F:\Sourcefolder\B\*" "%%~fa" /s /i
)
如果括号中没有通配符,

FOR /R将无法正常工作 - ?*

ROBOCOPYXCOPY