Veröffentlicht 18. Mai 201015 j 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ß
18. Mai 201015 j 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
18. Mai 201015 j Ich werf jetzt mal zwei in diesem Fall sehr hilfreiche Stringfunktionen in den Raum: ==> Substring ==> LastIndexof
18. Mai 201015 j 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.
18. Mai 201015 j Autor 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
18. Mai 201015 j 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.
22. Mai 201015 j Autor 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?
23. Mai 201015 j 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.
23. Mai 201015 j Siehe oben: Viele Dateisystem-Operationen wirst du in der .Net Klassenbibliothek wieder finden. Suchen lohnt sich auf jeden Fall.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.