OSDN Git Service

ファイルやフォルダーの名前を破壊する時に例外が起きることがあるバグを修正した
authorkonekoneko <jbh03215@gmail.com>
Sun, 29 Jul 2012 01:43:51 +0000 (10:43 +0900)
committerkonekoneko <jbh03215@gmail.com>
Sun, 29 Jul 2012 01:43:51 +0000 (10:43 +0900)
CompleteEraser/FileBreaker.cs

index 9634a36..4c28dc2 100644 (file)
@@ -45,8 +45,9 @@ namespace CompleteEraser
                 BreakFileHiSpeed(fs);\r
             fs.Close();\r
 \r
-            string newFile = GenerateRandoName(Path.GetDirectoryName(file), file.Length);\r
-            File.Move(file, newFile);\r
+            string newFile = GenerateRandoName(Path.GetDirectoryName(file), Path.GetFileName(file).Length);\r
+            if(File.Exists(newFile) == false)\r
+                File.Move(file, newFile);\r
             \r
             File.Delete(newFile);\r
         }\r
@@ -105,6 +106,8 @@ namespace CompleteEraser
         public static string RenameFolderName(string dir)\r
         {\r
             string newName = GenerateRandoName(Path.GetDirectoryName(dir), Path.GetFileName(dir).Length);\r
+            if (Directory.Exists(newName))\r
+                return dir;\r
             if ((FileAccessPermissionHelper.GetCurrentAccessRule(dir).FileSystemRights & FileSystemRights.Modify) == FileSystemRights.Modify)\r
                 Directory.Move(dir, newName);\r
             else\r