Komm schon, das ist doch jetzt nicht so schwer. Einfach ein wenig den Kopf einschalten und nachdenken :D
Beim Pfad "C:\Musik\Lol.mp3" muss einfach nur alles bis zum '\'-Zeichen von hinten löschen. Nicht mehr, nicht weniger.
Beispiel: Ich habe eine Form: (siehe Link weiter unten bei "Ergebnis")
Das erste Textfeld heißt "txtKomplett" und das Zweite "txtOrdner".
Nun habe ich mit folgendem Code beim Klicken des Buttons den Pfad herausgefiltert:
Dim pfadKomplett As String = txtKomplett.Text
Dim pfadGefiltert As String = txtOrdner.Text
pfadKomplett.Trim()
pfadGefiltert = pfadKomplett.Remove(pfadKomplett.LastIndexOf("\"))
txtOrdner.Text = pfadGefiltert + "\"
Das geht so: Zuerst werden mit "Trim()" alle eventuellen Leerzeichen vor und hinter der Eingabe gelöscht. Nun lösche ich alles ab einem bestimmten Index, den ich mit der Funktion "LastIndexOf()" herausfinde, indem ich nach dem letzten Vorkommen des "\"-Zeichens suche. Am Ende wird der gefilterte Pfad der Text-Eigenschaft des "txtOrdner"-Textfeldes zugewiesen - der gefilterte Pfad erscheint im zweiten Textfeld.
Allerdings muss vorher noch ein '\'-Zeichen hinzugefügt werden, das hat mit dem Index zu tun, da wird ein Zeichen zuviel gelöscht. Ich könnte auch einfach dem Index genau 1 addieren.
Ergebnis: http://www.abload.de/img/dateipfadfilternergeby1j7p.jpg
Einfacher geht es mit folgendem Code:
Dim pfadKomplett As String = txtKomplett.Text
Dim pfadGefiltert As String = txtOrdner.Text
pfadKomplett.Trim()
pfadGefiltert = System.IO.Path.GetDirectoryName(pfadKomplett)
txtOrdner.Text = pfadGefiltert + "\"
Hier passiert im Prinzip genau dasselbe, nur dass der Pfad ganz einfach schön automatisch mit einer Funktion gefiltert wird, die jedermann benutzen kann und auch die ganze Denkarbeit übernimmt. Nur muss am Ende wieder das "\"-Zeichen hinzugefügt werden, da es in der Funktion auch abgeschnitten wird.
In System.IO.Path gibt es übrigens noch eine ganze Reihe weiterer nützlicher Funktionen, wie zum Beispiel "Combine()", mit der automatisch zwei Pfade aneinander gereiht werden, mit Berücksichtigung von Backslash (), was bei einfachem aneinanderhängen von zwei Strings nicht gemacht wird.
Allgemein lohnt es sich, in System.IO reinzuschauen, da es dort viel gibt, was einem die Arbeit abnimmt.
Ich hoffe, ich konnte dir helfen :)
Ein Stern wäre nett, wenn du willst :D