是否可以删除大文件的两端而不复制?

3 c windows file disk

我想知道是否有可能使用Windows和c ++来获取大型视频文件(长度为几千兆字节)并"就地"删除它的第一个和最后几百兆字节.

将有用数据复制到新文件的传统方法通常需要超过20分钟的看似不必要的复制.

有没有什么聪明可以用磁盘做低级别来实现这一点?

j_r*_*ker 6

当然,这在理论上是可能的.但是,如果您的文件系统是NTFS,请准备花几个月时间了解您需要更新的所有数据结构.(所有这些都是正式无证的BTW.)

此外,你还需要

  1. 以某种方式卸载音量然后进行更改; 要么
  2. 了解如何编写内核文件系统驱动程序,从MS购买许可证,开发驱动程序并使用它来更改实时文件系统.

如果你的文件系统比FAT32更简单,那就容易多了.但无论哪种方式:简而言之,它可能是可能的,但即使这样,你的生命也需要数年时间.我的建议:不要打扰.

相反,请查看可以解决问题的其他方法:例如,使用avisynth脚本仅提供您感兴趣的区域中的帧.