2012-03-24 19 views
2

私はファイルを持っていると言うことができます "c:\ file1.txt"は、ADSファイルを持っていると言うことができるので、 "C:\ file1.txt:stm"ファイル1を変更せずにstmを削除するC++でADS(代替データストリーム)を削除する方法

私はfile1.txtの古いコピーを、ADSを削除するために、file1をストリームで置き換えることによってADSを削除する必要があると読んでいます... is isそれを行うためのより良い、きれいな方法がありますか?

+0

安いトリック:FATドライブにファイルをコピーし、バック:-) [LADS(http://www.heysoft.de/en/software/lads.php)があってもよいです便利なツールです –

+0

私はそれを行うためのツールを作成しています...私は巧妙ではなく、きれいな方法が必要です – CnativeFreak

+0

Windows APIを使用するのはどうですか? –

答えて

6

ストリームを名前で削除するだけで済みます。

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

他の多くのAPIを使用して同じことをすることも、コマンドラインを使用することもできます。

参考資料:http://www.flexhex.com/docs/articles/alternate-streams.phtml

+1

+1代替データストリームは、通常のファイルとまったく同じように扱うことができます。標準API関数を使用して、すべての作業を削除、移動、コピー、読み取り、書き込みします。他のデータストリームは影響を受けません( 'main'ストリームを削除しない限り、すべての代替ストリームがそれに入ります)。[MicrosoftのStrmExtツール](http://download.microsoft.com/download /f/c/6/fc6943eb-790a-44aa-b32d-14ed7e22fd5d/ntfsext.exe)WindowsエクスプローラからADSを作成/削除します。 –

+0

Ty、私はそれがこのように簡単だとは思わなかった:p – CnativeFreak

関連する問題