【问题标题】:Batch copying to all folders批量复制到所有文件夹
【发布时间】:2015-07-23 06:16:34
【问题描述】:

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

现在我知道批量复制文件(例如file.exe)时应该是这样的

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

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

【问题讨论】:

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


    【解决方案1】:

    XCOPY 命令用于文件夹复制,FOR /D 将列出一级文件夹:

    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 将无法正常工作 - ?*

    ROBOCOPY,XCOPY

    【讨论】:

    • xcopy 已弃用,请在新脚本中使用 robocopy
    • 如果我理解正确,第二个代码会将文件夹 A 和 B 复制到我的目标文件夹的所有子文件夹中?
    • @ĐurađStanković 应该但是我没有测试它(只测试了第一个脚本)
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2014-07-22
    • 2013-04-12
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多