LabVIEWForum.de
Ordner in Ordnerstruktur suchen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Ordner in Ordnerstruktur suchen (/Thread-Ordner-in-Ordnerstruktur-suchen)

Seiten: 1 2


Ordner in Ordnerstruktur suchen - ahebauer - 21.10.2013 15:58

Hallo,

ich möchte Messreihen in einer Ordnerstruktur speichern.

Zusammengehörige Messreihen werden in einem Ordner mit einer eindeutigen ID gespeichert.
Diese Ordner mit den Messreihen sollen dann wiederrum tageweise in Ordnern abgelegt werden.
Pro Tag werden ca. 60 Messreihen erstellt, d.h. also 60 Ordner angelegt.

Nun möchte ich in LabVIEW nach einer bestimmten ID (d.h. Ordner) suchen. Mir ist jedoch
nicht bekannt, wann die entsprechende Messreihe abgelegt wurde. Hat jemand eine Idee,
wie man den besagten Ordner findet. Es müsste eine Funktion sein,
die nicht nur innerhalb eines Ordners nach einem Muster (also dem Namen des Ordners) sucht,
sondern innerhalb einer ganzen Struktur. Die VIs 'Recursive File List' oder 'List Folder' erfüllen diese
Funktion leider nicht.

Vielen Dank für eure Hilfe.
Michael


RE: Ordner in Ordnerstruktur suchen - Y-P - 22.10.2013 07:51

Bahn . . . Blink . . . Glas1 . . . Glas2

Kannst Du mal ein Bsp. machen, wie die Ordner aussehen?

Gruß Markus


RE: Ordner in Ordnerstruktur suchen - ahebauer - 22.10.2013 08:17

Hallo Markus,

z.B. könnte es sich um die folgende Ordner-Struktur unter Windows handen:

2013-10-20 > ID00001
> ID00002
> ID00003
> ID00004
2013-10-21 > ID00005
> ID00006
> ID00007
> ID00008
2013-10-22 > ID00009
> ID00010
> ID00011
> ID00012 usw.

Nun will ich die Messreihe einer bestimmten ID in LabVIEW laden, kenne jedoch
nicht das Datum, an dem die Messreihe erstellt wurde. Theoretisch könnte in mir alle
Ordner des Hauptverzeichnisses (also die Ordner mit der Datum-Benennung) ausgeben lassen,
um dann wiederrum deren Unterordner automatisiert (For-Schleife) ausgeben zu lassen und dann
in diesem Datensatz aller Unterordner die gesuchte ID zu suchen. Ich hoffe jedoch, dass LabVIEW
hier ein Tool bereit hält (ähnlich wie die VI 'List Folder', bei der man ein Muster vorgeben kann, nach
dem gesucht wird - jedoch können hier nicht die Unterordner der Datums-Ordner durchsucht werden).

Als Ausgabe benötige ich den Pfad, unter dem ich den Ordner mit der entsprechenden ID finde, um
die Messreihe dann wieder zur Anzeige zu bringen.

Grüße
Michael


RE: Ordner in Ordnerstruktur suchen - GerdW - 22.10.2013 08:43

Hallo Michael,

mit RecursiveFileList alle Unterordner auflisten und selbst nach dem passenden Pfad zu suchen ist zu schwierig? Es gibt da diverse String-Suchfunktionen...

Ohne Fehlerprüfung oder Test:
[attachment=46849]


RE: Ordner in Ordnerstruktur suchen - ahebauer - 22.10.2013 13:05

Hallo Gerd,

vielen Dank für deine Antwort.

Ich habe grade mal einen Ordner mit ca. 500 Unterordnern mit dem VI RecursiveFileList ausgelesen
(ohne die FOR-Schleifen etc, habe nur die eine VI ausgeführt). Übersehen hatte ich, dass mit
dieser Funktion Unterordner aller Unterebenen ausgegeben werden (For-Schleifen werden also nicht benötigt).
Jedoch benötigt die VI für das oben genannte Beispiel mit 500 Ordnern schon 6 Sekunden zur Ausführung
(auf einem Intel i5, Windows 7) - da in unserer Anwendung wesentlich größere Ordnerstrukturen vorkommen werden,
ist die Bearbeitungsdauer jetzt schon zu lang.

Gibt es vielleicht noch eine andere Möglichkeit?


RE: Ordner in Ordnerstruktur suchen - Trinitatis - 22.10.2013 13:09

Hallo Michael,

wie wäre es denn, wenn du bei der Erstellung jedes Ordners ein indizierungs file mitschreibst und dort einfach nachsiehst. Geht dieses file mal verloren, dann musst du eben einmal die Gesamtstruktur durchwühlen lassen (offline).


Gruß, Marko


Edit:
1 file für alle Ordner natürlich ... Wink


RE: Ordner in Ordnerstruktur suchen - ahebauer - 22.10.2013 14:23

Hallo Marko,

das ist auch der einzige Work-Around, der mir eingefallen ist.
Ich denke, so werde ich es jetzt mangels Alternativen auch umsetzen.
Danke.

Gruß, Michael


RE: Ordner in Ordnerstruktur suchen - Trinitatis - 22.10.2013 14:28

Hallo Michael,

ich fürchte, selbst wenn LV die von dir gewünschte Mustervorgabe mitbrächte, kämest du um den workaround schon aus Zeitgründen nicht umhin, wenn es denn um soviele Ordner geht, wie du beschreibst.

Gruß, Marko


RE: Ordner in Ordnerstruktur suchen - GerdW - 22.10.2013 15:15

Hallo Michael,

ich arbeite selten mit der RecursiveFilelist, deshalb der Lapsus mit der FOR-Loop.

Du musst doch nur eine Ordnerebene abklappern: nimm die normale List-Funktion in der Konstruktion wie in meinem Snippet. Das sollte schneller arbeiten, da eben auf die Rekursion verzichtet wird.

Außerdem: wie lange braucht der Explorer, um die 500+ Ordner anzuzeigen?


RE: Ordner in Ordnerstruktur suchen - SBT - 10.12.2013 12:57

Hi Michael,

keine Ahnung ob meine Antwort zu spät kommt oder ob du schon eine andere Lösung gefunden hast. Ich hatte mir vor kurzem ein VI gebastelt, welches rekursiv alle Ordner, Dateien etc. samt Pfadangaben für ein bestimmtes Verzeichnis ausliest. Ich hab es auf Rechenzeit getestet. Für alle Ordnerstrukturen und Dateien auf meinem Desktop (und das sind insgesamt 800 Ordner und 7000 Dateien) braucht das VI knappe 1,1 Sekunden. Am Ausgang stehen dir dann Arrays mit allen Ordnernamen und Pfaden zur Verfügung. Wenn du einen Suchbegriff eingibst, wird dir am Programmende bei einem positiven Fund der entsprechende Pfad zur Datei oder zum Ordner angezeigt.

Ich stell das VI mal hier rein...ich übernehme jedoch keine Verantwortung für die Nutzung (aufgrund von Zugriffsberechtigungen kann schon mal abstürzen, für deine Anwendung wird es aber funktionieren). Wenn es funktioniert, würde ich mich freuen wenn du dich nochmal bei mir meldest.

Beste Grüße

Marcus