2016-04-13 20 views
0

私のプログラムの実行中にチェックするフォルダがあります。 不要なフォルダを削除し、チェックされたフォルダを別のディレクトリに戻します。フォルダを同じ名前のフォルダに移動する

私の問題は、常に例外が発生することです。そして私は本当に理由を知らない。 btw:現在のテーブルと新しいテーブルに同じ名前があります :My Exception ドイツ語のため翻訳:既に存在するため、データを作成できません。 マイコード:

public void CreateCheckedStructure() { 

     List<string> checkedDirNew = Program.RemoveTempFolders(GetAllFromDir(Settings.Default.NewFolder)); 
     List<string> checkedDirCurrent = Program.RemoveTempFolders(GetAllFromDir(Settings.Default.CurrentFolder)); 

     foreach(string checkedNew in checkedDirNew){ 

      DirectoryInfo dirInfoNew = new DirectoryInfo(checkedNew); 
      foreach (string checkedCurrent in checkedDirCurrent) { 
       DirectoryInfo dirInfoCurrent = new DirectoryInfo(checkedCurrent); 
       if(dirInfoNew.Name.Equals(dirInfoCurrent.Name)){ 
        string checkedFoldersPath = Settings.Default.CheckedTables + "\\" + dirInfoCurrent.Name; 
        Directory.CreateDirectory(checkedFoldersPath); 
        Directory.CreateDirectory(checkedFoldersPath+"\\New"); 
        Directory.CreateDirectory(checkedFoldersPath + "\\Current"); 
        dirInfoCurrent.MoveTo(checkedFoldersPath + "\\Current"); 
        dirInfoNew.MoveTo(checkedFoldersPath + "\\New"); 
        break; 
       } 
      }   
     } 

    } 
+0

私は私の質問を編集した:) – Ams1

答えて

0

あなたはcheckedFoldersPath+"\\New"を作成し、それの上に別のフォルダをコピーしようとしています。エラーは既に存在するために発生します。 2つのフォルダをマージしようとすると、すべてのサブファイルとサブディレクトリを(再帰的に)新しいフォルダに移動し、元のフォルダを削除する必要があります。

この回答を参照してください:C# merge one directory with another

+0

はawnserいただきありがとうございます! – Ams1

関連する問題