C# Datei kopieren und in Ordner einfügen!

Nick_SMI

Ensign
Dabei seit
Sep. 2015
Beiträge
153
Hallo zusammen!

Ich arbeite gerade an ein Programm, was eine Datei kopieren soll, und in einem Ordner in alle Ordner einfügen soll...

Momentaner Code (nicht funktionsfähig, kommt zum "Error")

Code:
private void einfuegen()
        {
            string fileName = Properties.Settings.Default.Hofdatei;
            string sourcePath = @Properties.Settings.Default.HofdateiPfad;
            string targetPath = @Properties.Settings.Default.Ordner;

            string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
            string destFile = System.IO.Path.Combine(targetPath, fileName);

            if (System.IO.Directory.Exists(sourcePath)) //!Fehler!
            {
                string[] files = System.IO.Directory.GetFiles(sourcePath);

                foreach (string s in files)
                {
                    fileName = System.IO.Path.GetFileName(s);
                    destFile = System.IO.Path.Combine(targetPath, fileName);
                    System.IO.File.Copy(s, destFile, true);
                }
            }
            else
            {
                System.Windows.MessageBox.Show("Error");
            }
        }
Zuvor wird die Datei ausgewählt!
Die wird einmal unter Properties.Settings.Default.HofdateiPfad der Pfad (anscheinend mit Datei) und Properties.Settings.Default.Hofdatei;

Das heißt: es kommt zum Error, da HopfdateiPfad nicht der Pfad ist, sonder Pfad + \xy.hof (.hof ist die Endung)

Code:
            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
            dlg.FileName = "Hofdatei"; 
            dlg.DefaultExt = ".hof"; 
            dlg.Filter = "Hofdateien (.hof)|*.hof"; 

            Nullable<bool> result = dlg.ShowDialog();

            if (result == true)
            {
                Properties.Settings.Default.Hofdatei = dlg.SafeFileName;
                Properties.Settings.Default.HofdateiPfad = dlg.FileName;
                aktualisieren();
            }
Also: Wie finde ich in diesem Dialog nur den Pfad heraus?


Grüße und danke im Vorraus!
 

SoDaTierchen

Captain
Dabei seit
Feb. 2011
Beiträge
3.152
1. Prüfen ob die Datei überhaupt existiert (System.IO.File.Exists)
2. FileInfo-Objekt erstellen (System.IO.FileInfo)
3. Pfad vom Objekt holen (FInfoObject.Directory)

Vom FileInfo-Objekt kannst du noch ein paar andere Sachen herausholen ;)
 
Top