21.10.2013, 15:58
(Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2013 15:59 von ahebauer.)
Beitrag #1
|
ahebauer
LVF-Grünschnabel
Beiträge: 28
Registriert seit: Jun 2010
18.0f1 (64bit)
2010
DE_EN
Deutschland
|
Ordner in Ordnerstruktur suchen
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
|
|
|
22.10.2013, 07:51
(Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2013 07:52 von Y-P.)
Beitrag #2
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
. . . . . . . . .
Kannst Du mal ein Bsp. machen, wie die Ordner aussehen?
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
22.10.2013, 08:17
Beitrag #3
|
ahebauer
LVF-Grünschnabel
Beiträge: 28
Registriert seit: Jun 2010
18.0f1 (64bit)
2010
DE_EN
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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
|
|
|
22.10.2013, 08:43
(Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2013 08:48 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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:
|
|
|
22.10.2013, 13:05
Beitrag #5
|
ahebauer
LVF-Grünschnabel
Beiträge: 28
Registriert seit: Jun 2010
18.0f1 (64bit)
2010
DE_EN
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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?
|
|
|
22.10.2013, 13:09
(Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2013 13:10 von Trinitatis.)
Beitrag #6
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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 ...
|
|
|
22.10.2013, 14:23
Beitrag #7
|
ahebauer
LVF-Grünschnabel
Beiträge: 28
Registriert seit: Jun 2010
18.0f1 (64bit)
2010
DE_EN
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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
|
|
|
22.10.2013, 14:28
Beitrag #8
|
|
|
22.10.2013, 15:15
Beitrag #9
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Ordner in Ordnerstruktur suchen
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?
|
|
|
| |