私のコンソール アプリケーション プログラムは、動作中にいくつかのランタイム ファイルを作成しているため、アプリケーションの起動時にこれらのファイルをすべて削除したいと考えています。私はこれを試しました:
public static void Empty(string targetDir)
{
var directory = new DirectoryInfo(targetDir);
if (!directory.Exists) return;
foreach (var file in directory.GetFiles()) file.Delete();
foreach (var subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
}
...指定されたパス(プログラム実行パスのサブディレクトリにある)ですべてのファイル/フォルダーを探してから、それらを削除します。ただし、次の例外が発生します。
パス「ファイル」へのアクセスが拒否されました。
管理者としてプログラムを実行しようとしましたが、うまくいきませんでした。ただし、管理者権限を使用せずに機能するソリューションが必要です。
ノート :
- ファイルは別のアプリケーションで実行されていません。
- ファイルは保護されたフォルダーにありません。
- ファイルは問題なく手動で削除できます。それが私がここにいる理由です。