public static void DeletePath(string path) { if (string.IsNullOrEmpty(path)) { throw new Exception("削除しようとしたパスは null 又は空文字列です。"); } if (File.Exists(path)) { for (int c = 1; ; c++) { try { File.Delete(path); } catch //(Exception e) { //ProcMain.WriteLog(e + " <---- 例外ここまで、処理を続行します。"); } if (!File.Exists(path)) { break; } if (10 < c) { throw new Exception("ファイルの削除に失敗しました。" + path); } ProcMain.WriteLog("ファイルの削除をリトライします。" + path); Thread.Sleep(c * 100); } } else if (Directory.Exists(path)) { for (int c = 1; ; c++) { try { Directory.Delete(path, true); } catch //(Exception e) { //ProcMain.WriteLog(e + " <---- 例外ここまで、処理を続行します。"); } if (!Directory.Exists(path)) { break; } if (10 < c) { throw new Exception("ディレクトリの削除に失敗しました。" + path); } ProcMain.WriteLog("ディレクトリの削除をリトライします。" + path); Thread.Sleep(c * 100); } } }
public static void CreateDir(string dir) { if (string.IsNullOrEmpty(dir)) { throw new Exception("作成しようとしたディレクトリは null 又は空文字列です。"); } for (int c = 1; ; c++) { try { Directory.CreateDirectory(dir); // ディレクトリが存在するときは何もしない。 } catch //(Exception e) { //ProcMain.WriteLog(e + " <---- 例外ここまで、処理を続行します。"); } if (Directory.Exists(dir)) { break; } if (10 < c) { throw new Exception("ディレクトリを作成出来ません。" + dir); } ProcMain.WriteLog("ディレクトリの作成をリトライします。" + dir); Thread.Sleep(c * 100); } }
public void Dispose() { if (this.Dir != null) { try { Directory.Delete(this.Dir, true); } catch (Exception e) { ProcMain.WriteLog(e); } this.Dir = null; } }