2

复制文件(使用 )的操作系统(XP、Vista、Win7)行为是CopyFile什么?

它何时保留要复制到的集群?以下哪一个 ?

  1. 它在开始复制之前保留所有目标集群
  2. 它保留一些集群,然后将文件部分复制到这些集群,然后,保留其他集群,然后将新文件部分复制到这些新保留的集群,等等。
4

1 回答 1

1

Explorer 和 cmd.exe 使用的复制操作会立即保留大部分磁盘空间,至少在我的 Windows 7 32 位上是这样,您可以通过查看卷上的可用空间看到。据我所知,至少从 NT 4 开始,这种行为在所有版本的 Windows 中都是相同的。

但是,有几个警告:

  • Explorer 和 cmd.exe 不(必须)使用 CopyFile。
  • 此行为在不同版本的 Windows 中可能会有所不同,或视情况而定。
  • 它可能只是大多数目标集群,例如它有时可能需要扩展 MFT 才能完成操作;我认为这不太可能,但我不能排除它。

我的建议:

如果偶尔失败的可能性很小,请测试 CopyFile,如果它的行为符合预期,请继续使用它。

如果不是,请考虑自己复制。不幸的是,即使在那时,最后一个警告也可能适用,但正如我所说,我认为这可能不是一个重大风险。

无论哪种方式,您都需要准备好应对意外故障,因为硬件故障,甚至可能是文件系统损坏,都可能导致复制中途失败。

于 2012-12-24T01:27:05.457 回答