win2003 以智能方式复制文件夹的方法?

Bri*_*ndy 2 windows windows-server-2003 command-line-interface copying

我有 2 个文件夹,第一个:

C:\folder1
C:\folder1\subfolder\a.txt
C:\folder1\subfolder\b.txt

第二个:

C:\folder2
C:\folder2\subfolder\a.txt

我想像这样合并它们:

C:\folder2
C:\folder2\subfolder\a.txt(文件夹 2 的 a.txt)
C:\folder2\subfolder\b.txt

我想要的描述:

是否有一个简单的 DOS 命令可以将所有文件夹、子文件夹和文件从文件夹 1 复制到文件夹 2,但如果文件夹 2 中存在某些内容,我不想覆盖它。如果文件夹 1 包含文件夹 2 中不存在的文件,我希望将它们复制到其中。

注意:folder1 和folder2 共享共同的子文件夹名称。

注 2:Folder2 是几个 TB,所以我真的必须复制到文件夹 2 中。Folder1 只有几个 GB。

我无法在 Windows 资源管理器中执行此操作,因为没有选项可以说覆盖文件?对所有人都没有。

nra*_*ray 5

是的,我认为robocopy.exe资源工具包实用程序是 Windows 2003 操作系统的一部分。您可以指定各种选项来确定哪些内容是否被覆盖。

默认情况下,robocopy 不会覆盖相同的文件,只会覆盖旧版本的新版本 - 它主要是一个文件夹同步工具。

如果你想避免任何类型的覆盖,这可能有效,

robocopy C:\FOLDER1 C:\FOLDER2 /e /xc /xn /xo 
Run Code Online (Sandbox Code Playgroud)

在哪里,

/e是复制所有子文件夹,甚至是空的。
/xc是排除更改的文件。
/xn是排除较新的文件。
/xo是排除旧文件。

我建议你先用这些额外的开关进行测试,

robocopy C:\FOLDER1 C:\FOLDER2 /e /xc /xn /xo /l /log+:robocopy.txt /np /ndl /tee
Run Code Online (Sandbox Code Playgroud)

在哪里,

/l只是列表,实际上什么都不做。当您对 robocopy 的功能感到满意时,请移除此开关。
/log+:将输出附加到文本文件,以便您可以研究它,或者/log:,每次都会覆盖日志。
/np阻止日志中的“% done”进度信息。
/ndl是个人对更清晰的日志输出的偏好,但在您对 robocopy 的工作方式感到满意之前,您可以不使用此开关。
/tee在屏幕上显示输出以及日志。