如何在c ++中删除ADS(备用数据流)

时间:2012-03-24 19:35:02

标签: c winapi ntfs

我有一个文件可以说" c:\ file1.txt"有一个ADS文件让我们说stm so" c:\ file1.txt:stm"现在我想删除stm而不修改file1

我在某处读到我需要一个没有ADS的旧文件副本file1.txt,以便通过将stream1替换为没有一个的文件来删除ADS ...是否有更好更干净的方法那么?

2 个答案:

答案 0 :(得分:6)

您需要做的就是按名称删除流。使用以下的Windows API:

DeleteFile("c:\\file1.txt:stm");

您可以使用大量其他API来执行相同的操作,或命令行。

有用的参考:http://www.flexhex.com/docs/articles/alternate-streams.phtml

答案 1 :(得分:0)

您最简单的方法可能是使用Streams中的Windows Sysinternals程序  网站。