[C#] Ordner mit "MoveTo" Datenträgerübergreifend verschieben.

Salve

ich habe ein Programm geschrieben welches im Hintergrund Ordner verschieben soll

Code:
                DirectoryInfo di = new DirectoryInfo(txtQuelle.Text);
                DirectoryInfo dir = new DirectoryInfo(txtZiel.Text);

                if (dir.Exists == true)
                {
                    di.MoveTo(txtZiel.Text + "\\" + di.Name); // Ordner verschieben
                    MessageBox.Show("Ready");
                }
                else
                {
                    dir.Create();
                    di.MoveTo(txtZiel.Text + "\\" + di.Name);
                    MessageBox.Show("Ready");
                }

Soweit funktioniert das auch bis ich allerdings möchte das er von Laufwerk C:\ nach Laufwerk D:\ verschieben soll wirft er einen Fehler aus.

Fehler:
" Der Quell und Zielpfad müssen identische Stammverzeichnisse haben. Es kann nicht Datenträgerübergreifend verschoben werden"

gibt es noch eine andere Möglichkeit den kompletten Ordner zu verschieben?

mfg Marc
 
Hi!

Wenn Du was verschieben willst, musst das Ganze rekursiv machen. Dh Du wanderst jedes Verzeichnis ab,
schaust nach ob es auf dem Ziellaufwerk nicht schon vorhanden ist wenn Du es erstellen willst
und überprüfst ob nicht auch schon die Dateien vorhanden sind während Du sie verschiebst.
Ob Du eine Benutzerabfrage in Fall machen möchtest ist Dir überlassen.

In dem folgenden Thread findest eine fertiges Snipped zum kopieren von Ordnern,
welches Du dir für deine Bedüfnisse blos noch anpassen musst:
[thread=191704]Folder copy - Thread[/thread]
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück