【问题标题】:copy directories only cmd仅复制目录 cmd
【发布时间】:2015-06-29 19:10:16
【问题描述】:

我需要使用批处理文件将未知数量的目录(包括其中的文件)从一个位置复制到另一个位置。 我唯一的问题是我不能复制与目录位于同一位置的文件。

例如:

假设 c:\Folder\ 包含目录:Dir1Dir2 以及文件:f1 .

我想将 c:\Folder\Dir1c:\Folder\Dir2(以及其中的文件)复制到 c:\Location 目录但不是 文件:f1

请帮忙!

【问题讨论】:

  • 检查xcopyrobocopy 命令。
  • 是的...但是他们要么将目录复制为空,要么将它们正确复制但使用 file: f1 并且我很遗憾我必须避免处理它。
  • 这些文件,你不会像(f1)那样复制,都在同一个方向上,它们是否具有相同的文件扩展名?
  • 都是.xml文件,f1和Dir1和Dir2里面的文件,所以不能使用exclude选项。

标签: batch-file cmd


【解决方案1】:

试试这个:

@echo off
setlocal enabledelayedexpansion

REM Set variable
set _SOURCE="C:\Temp\Test\"
set _DESTINATION="C:\Temp\New\"

REM Change Direction
pushd %_SOURCE%

FOR /D %%a in (*) DO xcopy /S /I %%a %_DESTINATION%%%a
  • /D : 只是目录
  • /S : 复制子目录
  • /I : 目标是目录(不是文件)

【讨论】:

  • 正是我想要的。谢谢!
【解决方案2】:

比如...

FOR /F "usebackq tokens=*" %%d IN (`DIR /AD /B C:\FOLDER`) DO (
    IF NOT EXIST "C:\LOCATION\%%d" (MKDIR "C:\LOCATION\%%d")
    XCOPY /E "%%d" "C:\LOCATION\%%d"
)

【讨论】:

    猜你喜欢
    • 2016-10-25
    • 2018-01-10
    • 2017-05-13
    • 2016-06-27
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多