Как удалить ADS (альтернативный поток данных) в C ++ - PullRequest
2 голосов
/ 24 марта 2012

У меня есть файл, скажем, «c: \ file1.txt», в котором есть файл ADS, и, скажем, stm, поэтому «c: \ file1.txt: stm». Теперь я хочу удалить stm без изменения file1

Я где-то читал, что мне нужно иметь старую копию file1.txt без ADS, чтобы удалить ADS, заменив file1 на stream на тот, у которого его нет ... Есть ли лучший и чистый способ сделать это

Ответы [ 2 ]

6 голосов
/ 25 марта 2012

Все, что вам нужно сделать, это удалить поток по имени. Используя Windows API, это будет:

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

Вы можете использовать множество других API, чтобы сделать то же самое, или из командной строки.

Полезные ссылки: http://www.flexhex.com/docs/articles/alternate-streams.phtml

0 голосов
/ 25 марта 2012

Самым простым способом может быть использование программы Streams с веб-сайта Windows Sysinternals .

...