我在 Windows 10 上复制了约 180 GB。xcopy SRC DST /C /E /Q
这些文件大多是视频文件和/或演示文稿(ppt/pptx/pdf)。我注意到了奇怪的行为:一些复制的文件(9268 个中的 2133 个)与原始文件有另一个校验和。这意味着文件的内容在复制过程中已被更改。我使用 WinMerge 检查了几个不同的文件,似乎只有文件的一小部分被更改了(见屏幕截图)。我最初以为这部分属于文件的某些元数据(所有者、创建日期等),但后来我意识到元数据并不存储在文件本身中。为什么会发生这种情况?我能以某种方式检查这些文件是否相同吗(似乎它们是相同的,例如当我播放视频时我看不到任何区别)?谢谢
附言:我使用了 xcopy,因为第一次尝试使用 totalcmd 或 explorer 复制这些文件时出现一些错误,我不得不按“重试”跳过或重试。
PPS:所有文件的大小都相同。我还注意到 DST 中的几个文件仅由 ASCII 0 字符组成。我使用 totacmd 重新复制了这些文件,没有任何问题。
答案1
复制似乎已被微软弃用。理论上,它应该复制文件逐字,但显然已经失败了,仔细比较一下就会发现。大多数视频格式都有一定的容错能力,所以仍然可以观看,但看起来确实已经损坏了。
问题可能在于 /C(错误时继续)选项的使用。如果媒体“健康”,则不会出现错误。您可以尝试使用 /V 选项来验证文件。如果验证失败,则存在媒体损坏(例如硬盘或 CD 故障)或系统噪音等问题。顺便说一句,/J 可能对大型文件(例如视频)有用。
答案2
您可以尝试 Microsoft 的 Robocopy(Robust File Copy),它更像是一个文件夹复制器,而不是文件复制器。CLI 的基本语法是“Robocopy 源目标”,例如 Robocopy C:\mysource E:\mytarget
Robocopy 也有 GUI,更多信息请见 Wikipedia这里