如何编写将一个目录复制到另一个目录的批处理脚本,替换旧文件?

时间:2012-03-28 09:25:27

标签: windows batch-file

我想在Windows中使用批处理脚本,我可以将一个目录复制到另一个目录。如果此目录已存在,然后对于已存在且具有相同名称和位置的每个文件,则应覆盖该目录,如果该目录不存在,则应仅添加该目录。

最后它应该是一个批处理脚本,我可以传递2个参数,source&目的地。

5 个答案:

答案 0 :(得分:32)

在批处理文件中执行此操作

set source=C:\Users\Habib\test
set destination=C:\Users\Habib\testdest\
xcopy %source% %destination% /y

如果要复制子目录包括空目录,请执行:

xcopy %source% %destination% /E /y

如果您只想复制子目录而不是空目录,请使用/s,如:

xcopy %source% %destination% /s /y

答案 1 :(得分:4)

似乎Windows 7中的最新功能是robocopy。

用法示例:

robocopy <source> <destination> /e /xf <file to exclude> <another file>

/ e复制子目录,包括空目录,/ xf排除某些文件被复制。

此处有更多选项:http://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx

答案 2 :(得分:3)

您是否考虑过使用“xcopy”命令?

xcopy命令将为您完成所有这些操作。

答案 3 :(得分:2)

试试这个:

xcopy %1 %2 /y /e

%1%2是您传递给批处理文件的源和目标参数。即C:\MyBatchFile.bat C:\CopyMe D:\ToHere

答案 4 :(得分:1)

只需使用xcopy /y source destination

即可