Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        public void Dispose()
        {
            if (this.Dir != null)
            {
                try
                {
                    Directory.Delete(this.Dir, true);
                }
                catch (Exception e)
                {
                    ProcMain.WriteLog(e);
                }

                this.Dir = null;
            }
        }