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.