Autor Beitrag
asbito
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Di 05.06.12 23:15 
Hi leute.

Ich suche schon lange eine lösung um wildcards in Dateipfaden zu nutzen.

Ich will verschiedene arten von pfaden auflösen:

z.b.:

C:\users\*\*.txt
C:\irgendwas\abc*a.txt

eben unabhänig von anzahl der widecards und ob es sich um eine directory oder files handelt oder beidem

ich finde ums verrecken keine lösung

ich hoffe ihr könnt mir da helfen

mfg asbito.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 06.06.12 00:04 
Also so lange jedes mal nur entweder ein Ordner, oder eine Datei ersetzt wurde, dann würde ich den Weg gehen, dass ich den Pfad schlicht in seine Bestandteile zerlege. Ein Slash darf ja logischer Weise nicht in einem Namen sein, also kann ich sicher so alle Namen in Erfahrung bringen und dann gehe ich nur noch Ordner für Ordner durch, suche den Namen und wenn da ein Stern ist, geht es bei allen Ordnern des Aktuellen weiter.
Und Dateien werden halt geöffnet, oder ausgegeben, wie auch immer.

Ist vielleicht nicht die beste Lösung, oder sie ist einfach und funktioniert ohne großes Jonglieren mit anderen Klassen, etc. Naja, bis auf die Path-, File- und Directory-Klassen, aber die braucht man ja fast immer bei der Arbeit mit Dateien, Ordnern und Pfaden.



Wie du aber jetzt das ganze machst, wenn sie IM Namen liegt, kann ich dir nicht sagen.
Man könnte das zwar auch genauso machen, wie ich oben erklärt habe, aber da ist das dann wirklich zu unpraktisch.

Allerdings solltest du dir überlegen, ob das wirklich so sinnvoll ist. Und wenn, dann solltest du zumindest fest legen, dass nur ein Zeichen ermöglicht wird. Ansonsten ist ja jede Zusammenstellung von Zeichen möglich und dann sucht dein Programm sich dumm und dämlich, bis du es abbrichst.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 06.06.12 09:24 
Hallo asbito,

die Methoden Directory.GetDirectories sowie Directory.GetFiles unterstützen schon Wildcards (* und ?), so daß du diese dann nur für jede Path-Ebene (rekursiv) aufrufen müßtest.

Im englischen wird diese Suche auch glob genannt - darunter habe ich dann folgende Lösung für dich gefunden: How to implement glob in C#

Für diesen Beitrag haben gedankt: Palladin007