5

ドライブでファイル I/O ストレスを実行するプログラムを作成しています。プログラムが完了したら、ファイルを削除したいのですが、ごみ箱には入れたくありません。ここに私が今持っているコードがあります:

    public static void DeleteDirectory(string target_dir)
    {
        //Delete the files and folders created during stress.
        string[] files = Directory.GetFiles(target_dir);
        string[] dirs = Directory.GetDirectories(target_dir);
        foreach (string file in files)
        {
            File.SetAttributes(file, FileAttributes.Normal);
            File.Delete(file);
        }
        foreach (string dir in dirs)
        {
            DeleteDirectory(dir);
        }
        Thread.Sleep(30);
        Directory.Delete(target_dir, true);
    }        

しかし、このコードはファイルをごみ箱に移動するだけです。削除したくないファイルがそこにある可能性があるため、ごみ箱を自動的に空にするコードを追加したくありません (ファイルは他の誰かのものである可能性があります)。

注: これまでに得た返信から、人々は私がここでやろうとしていることを誤解しているようです. プログラムがファイルを削除すると、ファイルがごみ箱に送られます。私はそれが起こりたくないので、すぐにファイルを削除したいと思っています。ファイルをごみ箱に送らずに削除するようにシステムに指示する方法がわかりません。ファイルを復元する必要はありません。ごみ箱に送信するようにデフォルト設定されていますが、これを変更する方法はありません。可能であれば、投稿したコードを編集して、ファイルをすぐに削除してください。私は初心者のC#ユーザーです。

4

1 に答える 1

7

FileSystem.DeleteDirectory メソッド (文字列、UIOption、RecycleOption)を探しています。

リサイクル

削除されたファイルをごみ箱に送るかどうかを指定します。デフォルトは RecycleOption.DeletePermanently です。

于 2013-09-29T05:28:41.927 に答える