SeToY Geschrieben 18. Mai 2010 Geschrieben 18. Mai 2010 Heyho, ich hole mir derzeit mittels diesem Code den Pfad zu einer Datei in einem Ordner: private void button2_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); openFileDialog1.CheckPathExists = true; pathToSetupPHP = openFileDialog1.FileNames[0].ToString(); } Nun würde ich gerne den "einfachen " pfad haben. Die "pathToSetupPHP" sieht so aus: C:\Users\SeToY\abc\6.0\z_Backups\123\04 - Mai 2010\17. Mai 2010\test456\setup.php Nun würde ich da gerne diesen Teil raushaben: "C:\Users\SeToY\abc\6.0\z_Backups\123\04 - Mai 2010\17. Mai 2010\test456\", damit ich nachher im folgenden schritt alle dort befindlichen dateien einlesen kann, um sie per FTP hochzuladen. Weiß jemand rat? Lieben Gruß Zitieren
AnDi_P Geschrieben 18. Mai 2010 Geschrieben 18. Mai 2010 Hallo, schau dir mal die Methode "Split" der String-Klasse an. Diese kann einen String mittels selbstdefinierten Trennzeichen aufsplitten, und gibt diese Fragmente in einem String-Array zurück. [...] string[] splittedString = openFileDialog1.FileNames[0].ToString().Split(<Argumente>) [...] LG Zitieren
Gateway_man Geschrieben 18. Mai 2010 Geschrieben 18. Mai 2010 Ich werf jetzt mal zwei in diesem Fall sehr hilfreiche Stringfunktionen in den Raum: ==> Substring ==> LastIndexof Zitieren
Gooose Geschrieben 18. Mai 2010 Geschrieben 18. Mai 2010 Schau dir mal die Methode Path.GetDirectoryName an. Die sollte genau das machen, was du benötigst. Viele Dateisystem-Operationen wirst du in der .Net Klassenbibliothek wieder finden. Suchen lohnt sich auf jeden Fall. Zitieren
SeToY Geschrieben 18. Mai 2010 Autor Geschrieben 18. Mai 2010 Hallo, vielen lieben Dank an euch! Das hat es letztendlich gebracht: private void button2_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); openFileDialog1.CheckPathExists = true; string pathToSetupPHP = openFileDialog1.FileNames[0].ToString(); string pathToSetup = Path.GetDirectoryName(pathToSetupPHP).ToString(); } Herzliche Grüße Zitieren
Gooose Geschrieben 18. Mai 2010 Geschrieben 18. Mai 2010 Schau mal ob du die ToString() Methode wirklich brauchst. Bei Path.GetDirectoryName wird ein String zurück gegeben. Dort brauchst du sie z.B. nicht. Zitieren
SeToY Geschrieben 18. Mai 2010 Autor Geschrieben 18. Mai 2010 Jo danke, habe ich nicht gebraucht Beide nicht. Liebe Grüße Zitieren
SeToY Geschrieben 22. Mai 2010 Autor Geschrieben 22. Mai 2010 Hallo, nochmal ich... Jetzt habe ich ein Problem, was ich leider nicht mit o.g. Code lösen kann Ich würde gerne alle Dateien, welche sich im Ordner befinden, auflisten. Mein Code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace DirectoryContentLister { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string pathToFolder = ""; int i = 0; private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { string pathToFile = openFileDialog1.FileNames[0]; pathToFolder = Path.GetDirectoryName(pathToFile); string[] filePaths = Directory.GetFiles(pathToFolder, "*.*", SearchOption.TopDirectoryOnly); int filecount = filePaths.Length; foreach (string paths in filePaths) { while (i < 20) { richTextBox1.Text += filePaths[i]; richTextBox1.Text += "\n"; i++; } } } private void btnGetDir_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); } } } Jetzt gibt er sie mir allerdings in der RichTextBox mit Pfad aus... Wie krieg ich den Pfad da raus? Zitieren
Mcolli Geschrieben 23. Mai 2010 Geschrieben 23. Mai 2010 das kannst Du Mittels den Klassen DirectoryInfo und FileInfo machen: Die Methode GetFiles der Klasse DirectoryInfo liefert dir alle FileInfos. Das Property Name "nur" den Namen der Datei. Zur weiteren verarbeitung der FileInfos kannst Du dann zusätzlich mittels des Properties FullName auf den vollqualifizierten Pfad zugreifen. Zitieren
Gooose Geschrieben 23. Mai 2010 Geschrieben 23. Mai 2010 Siehe oben: Viele Dateisystem-Operationen wirst du in der .Net Klassenbibliothek wieder finden. Suchen lohnt sich auf jeden Fall. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.