Windows的复制文件和群集保留

Windows的复制文件和群集保留,windows,Windows,复制文件(使用CopyFile)的操作系统(XP、Vista、Win7)行为是什么 它何时保留要复制到的群集?以下哪项 在开始复制之前,它会保留所有目标群集 它保留一些集群,然后将文件部分复制到 这些簇,then,保留了额外的簇,then 将新文件部分复制到这些新的保留群集中, 等等 Explorer和cmd.exe使用的复制操作会立即保留大部分磁盘空间,至少在我的Windows 7 32位上是这样,您可以通过查看卷上的可用空间看到这一点。据我记忆所及,至少从NT4开始,所有版本的Windows

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

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

  • 在开始复制之前,它会保留所有目标群集
  • 它保留一些集群,然后将文件部分复制到 这些簇,then,保留了额外的簇,then 将新文件部分复制到这些新的保留群集中, 等等

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

    但是,有几个警告:

    • Explorer和cmd.exe(不一定)使用CopyFile
    • 这种行为在不同版本的Windows中可能不同,或者取决于环境
    • 它可能只是大多数目标集群,例如,有时可能需要扩展MFT来完成操作;我认为这不太可能,但我不能排除这种可能性
    我的建议是:

    若偶尔出现故障的可能性很小,那个么可以测试CopyFile,若它的行为符合预期,那个么继续使用它

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


    无论哪种方式,您都需要做好应对意外故障的准备,因为硬件故障,甚至文件系统损坏,都可能导致副本部分故障。

    您可以轻松地自行检查。我希望选择2。如果您想让操作系统先检查可用空间,那么SHFileOperation应该这样做。