2016-04-13 20 views
0

Programım çalışırken denetlediğim bir klasör var. Gereksiz klasörleri kaldırın ve kontrol edilen klasörleri başka bir dizine iade ediyorum.Klasörü aynı adlı klasöre taşıma

Sorunum, her zaman bir özel durum almamdır. Ve gerçekten nedenini bilmiyorum. btw: geçerli ve yeni tablolarda aynı ada sahip var : My Exception Çeviri Almanca olduğu için: zaten var olduğundan bir veri oluşturulamıyor. Benim Kodu:

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

Sorumu :) – Ams1

cevap

0

Sen bunun üstüne başka bir klasör kopyalamak için çalışıyor sonra checkedFoldersPath+"\\New" oluşturma ve ediyoruz. Hata zaten mevcut olduğu için oluşur. İki klasörü birleştirmeye çalışıyorsanız, tüm alt dosyaları ve alt dizinleri (yinelemeli olarak) yeni klasöre taşımanız ve ardından özgün klasörü silmeniz gerekir. C# merge one directory with another

+0

Awnser için teşekkür ederiz düzenlendi:

bu yanıta bakın! – Ams1

İlgili konular