C# Nur Dateinamen ohne Endung und Pfad auslesen

palaber

Captain
Registriert
Juni 2006
Beiträge
3.856
Hey Leute,

bin gerade dabei alle Dateinamen, die in einem Ordner liegen auszulesen. Da ich die Dateinamen nutzen will, um eine Combobox mit Informationen zu fuellen sollen die Dateinamen weder den Pfad noch die Dateiendung besitzen.

Sprich die Datei C:\test\test.txt soll nur als "test" dargestellt werden.

Momentan nutze ich dazu folgendes:

Code:
System.IO.Directory.GetFiles("Ordnerpfad");

Ich hab auch die Path.GetFileWithoutExtension() gefunden. Aber hierzu muss ich ja den Dateinamen angeben und das will ich nicht. Da es in meinem Programm moeglich ist, Dateien zu erstellen und an einer anderen Stelle diese zu oeffnen. Dazu wird die Combobox verwendet, die eben immer mit allen Dateinamen aus dem Orner gefuettert werden soll.
 
Hi,

darf man fragen, was dich an der Path.GetFileNameWithoutExtension-Methode stört? Die Methode ist genau dafür gemacht!

VG,
Mad
 
Also wenn ich die benutze und den Pfad angebe, dann kommt da nur ein String zurueck. Bei mir ist der auch noch leer. Und ich haette gerne alles in einem array.

So wie ich es verstanden habe, muss ich bei Path.Get... den Dateinamen mit angeben. Das macht fuer mich dann keinen Sinn. Oder hab ich da was verrafft? Kurzum, ich brauche alle Dateinamen eines Ordners.

Edit:
Oh man, ich glaub jetzt hab ich gerafft worauf du raus wolltest... ich fuell das array mit directorz.getfiles
und danach mach ich fuer jedes element path.getfilenamewithoutextension

Puhh ist einfach noch zu frueh am morgen und der Kaffe wirkt noch nicht richtig :)
 
Zuletzt bearbeitet:
Path.GetFileWithoutExtension("C:\ordner\dateiname.ext") -> return "dateiname".

woher soll denn die Methode wissen wie die Datei heißen sollen? Sie kann ja nicht riechen von welcher Datei du den Namen willst.


string[] files = Directory.GetFiles("C:\ordner");

for(int i = 0;i<files.length;i++)
{
string dateiNameOhneEndung = Path.GetFileWithoutName(files);
combobox.items.add(dateiNameOhneEndung);
}


das sollte es sein.
 
Zuletzt bearbeitet:
Hi,

Oder hab ich da was verrafft?

Würde ich fast sagen ;)

Code:
var test = System.IO.Directory.GetFiles(@"C:\Pfad\Zu\Den\Dateien");
List<string> liste = new List<string>();
foreach (var file in test)
{
liste.Add(Path.GetFileNameWithoutExtension(file));
}

Dann hast du eine Liste mit allen Dateinamen im Ordner. Sehe das Problem nicht.

VG,
Mad
 
Zurück
Oben