Finde alle Ordner, in deren Unterordner JPGs liegen?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Nikolaus Riehm
Junior Member
Junior Member
Posts: 12
Joined: 2004-02-18, 21:20 UTC

Finde alle Ordner, in deren Unterordner JPGs liegen?

Post by *Nikolaus Riehm »

Hallo,

ich kenne mich mit Regular Expressions überhaupt nicht aus, vermute aber, dass eben diese mir bei einer relativ komplexen Suche nach Verzeichnissen helfen würden. Aus dem Stand bekomme ich das einfach nicht hin, evtl. kann jemand mit mehr RegEx-Erfahrung helfen?

Folgendes: ich habe ein Verzeichnisbaum mit Fotos von Geräten, der strukturiert aufgebaut ist und pro Gerät einen Ordner enthält, in dem Unterordner mit den JPGs liegen - so es denn überhaupt Fotos vom Gerät gibt. Ich bräuchte nun alle Geräte-Verzeichnisse aufgelistet, in denen in diesen Unterordnern Fotos existieren. Gibt's diese Ordner nicht oder sie sind zwar vorhanden, aber leer, soll das Verzeichnis nicht gelistet werden.

Das sieht exemplarisch so aus: Image: http://www.nikolaus-riehm.de/OEM_Lexicon_Folder_Structure.png

Beispiel dazu: Liegen in einem der Ordner unterhalb \_Internal JPG-Dateien, soll \Lexicon\LXP-1 gelistet werden. Sind keine Ordner unterhalb \_Internal vorhanden oder aber keine JPGs in vorhandenen Ordner(n), soll \LXP-1 nicht gelistet werden. Hersteller ('Lexicon') und Gerätenamen ('LXP-1') variieren, das Format der Bilderordner ist immer BBBB.ZZZZZZZZ (mit B=Buchstabe und Z=Ziffer). Wenn in einem dieser Ordner *.JPG Dateien liegen, soll also das zweifach übergeordnete Verzeichnis als Ergebnis in die Liste.

Geht das mit RegEx?

Viele Grüße und Danke,
Niko
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Zunächst mal geht das kaum mit TC-Bordmitteln.
Hauptproblem an deiner Aufgabe: du willst die zweite Ebene unter der Haupt-/Such-/Startebene auswerten, und nicht die erste. Andernfalls wären vergleichsweise überschaubare Lösungen möglich, z.B:
http://ghisler.ch/board/viewtopic.php?t=45355
http://ghisler.ch/board/viewtopic.php?p=315626


In deinem Fall fällt mir nur eine komplizierte Lösung mittels
cm_SaveSelectionToFile
und
cm_LoadSelectionFromFile
basierend auf diesem Thread
http://ghisler.ch/board/viewtopic.php?t=42762
bzw. diesem
http://ghisler.ch/board/viewtopic.php?t=41934
ein.

Dafür also am Anfang zunächst suchen:
Suchen in:
......\Lexicon
Suchen nach:
*.jpg *.jpeg
Dann das Suchergebnis anwenden und eben die im verlinkten Thread beschriebene Vorgehensweise anwenden, um final dann nur die passenden Verzeichnisse markieren zu lassen (sprich, dass der Dateinamen und die letzte Verzeichnisebene weggelöscht wird und anschließend die entstehenden Duplikate entfernt werden)
Wenn du daran Interesse hast, kann ich dir einen passenden Reg. Ausdruck basteln. Falls dir das zu kompliziert ist, muss eine andere Lösung her (aber mir fällt ehrlich gesagt keine andere ein, außer es vielleicht mit anderen Programmen zu versuchen).
TC plugins: PCREsearch and RegXtract
Nikolaus Riehm
Junior Member
Junior Member
Posts: 12
Joined: 2004-02-18, 21:20 UTC

Post by *Nikolaus Riehm »

Hallo milo,

vielen Dank für die Mühe. Habe mir die Threads durchgesehen und es sieht alles danach aus, dass es wohl am einfachsten wird, wenn ich einen Teil programmatisch und einen Teil händisch erledige. Denn erschwerend kommt hinzu, dass in den Verzeichnissen 'drumherum' oftmals auch noch JPGs liegen, das macht die Selektion noch umständlicher.

Ich werde wohl die Gelegenheit nutzen, alle Verzeichnisse peu à peu durchzugehen und dort mal nach dem Rechten zu sehen, Altlasten zu entsorgen und einige Formalitäten zu begradigen. Alleine cm_SaveSelectionToFile und cm_LoadSelectionFromFile werden da schon hilfreich sein. Wenn sich daraus doch nochmal eine Frage zu RegEx ergeben sollte, melde ich mich sicherlich. ;)

Viele Grüße,
Niko
Post Reply