如何使用Windows Batch复制文件?

时间:2008-10-09 02:24:22

标签: copy batch-file cmd

我有一个包含多个文件子目录的目录 如何将子目录中的所有文件复制到新位置?

编辑:我不想复制目录,只复制文件......

由于这仍然在XP上,我选择了以下解决方案:

 for /D %S IN ("src\*.*") DO  @COPY "%S\" "dest\"

谢谢!

6 个答案:

答案 0 :(得分:6)

确定。你的编辑说你不想要目录结构,我想你会想要使用这样的东西:

for /F "usebackq" %s IN (`DIR /B /S /A-D SrcDir`) DO @(
    XCOPY %s DestDir\%~nxs
)

答案 1 :(得分:3)

Xcopy命令应该有帮助。

XCOPY /E SrcDir\*.* DestDir\

或者如果您不想要SrcDir中的任何文件,只需要子目录,您可以将XCOPY与FOR命令结合使用:

FOR /D %s IN (SrcDir\*) DO @XCOPY /E %s DestDir\%~ns\

答案 2 :(得分:2)

robocopy "c:\source" "c:\destination" /E

答案 3 :(得分:1)

如果我理解正确,你有一个很大的目录树,你希望它里面的所有文件都在一个目录中。如果这是正确的,那么我可以用两行来完成:

dir /s /b "yourSourceDirectoryTreeHere" > filelist.txt
for /f %f in (filelist.txt) do @copy %f "yourDestinationDirHere"

在批处理文件与命令行中,将%f更改为%% f

答案 4 :(得分:0)

如果你想在另一端保持相同的文件夹结构,听起来就像XCOPY

一样简单
  

xcopy c:\ old \ *。* d:\ new \ / s

如果要复制空目录,请使用/ e而不是/ s。

答案 5 :(得分:0)

 for /D %S IN ("src\*.*") DO  @COPY "%S\" "dest\"