INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Sortierung von Daten



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

13.04.2021, 16:53
Beitrag #1

patrickbaker@gmx.de Offline
patrick_baker


Beiträge: 7
Registriert seit: Jan 2020

LabView 2018 (32-Bit)
2019
DE


Deutschland
Sortierung von Daten
Hallo,

ich muss folgendes Problem lösen: ich habe einen Ordner in dem über 1000 docx-Dateien sind, alle mit unterschiedlichen Namen.
Es gibt aber Dateinamen die gleich anfangen - diese haben immer folgende Struktur:

Bsp.

01_TheoretischePhysik_Numo.docx
01_TheoretischePhysik_Demtroder.docx
02_Thermodynamik_Alex.docx
02_Thermodynamik_Isa.docx
02_Thermodynamik_Mi.docx
03_Quantenmechanik_Alle.docx

usw....

Ich würde gerne jetzt ein Program schreiben welches die Dateien mit der ersten Zahl immer in einen Ordner packt und den Ordner
nach der Zahl benennt.

In dem Beispiel wäre es

Ordner 01:
01_TheoretischePhysik_Numo.docx
01_TheoretischePhysik_Demtroder.docx

Ordner02:
02_Thermodynamik_Alex.docx
02_Thermodynamik_Isa.docx
02_Thermodynamik_Mi.docx

usw.

Ich habe dies bereits auf der Ebene der Pathnames geschreiben, unter Verwendung von ListFolder&Search/Split.

Allerdings weiß ich nicht wie ich einen Ordner mit dem Namen erzeuge und die zugehörigen Dateien dortschiebe.

Wäre sehr dankbar für einen Tipp/Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.04.2021, 17:04 (Dieser Beitrag wurde zuletzt bearbeitet: 13.04.2021 17:05 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sortierung von Daten
Hallo Patrick,

herzlich willkommen im LabVIEW-Forum!
(Tipp: Email-Adressen im Klartext (oder gar als Username) in einem öffentlichen Forum fordern geradezu nach SPAM…)

Zitat:Ich würde gerne jetzt ein Program schreiben welches die Dateien mit der ersten Zahl immer in einen Ordner packt und den Ordner
nach der Zahl benennt.
Etwas Pseudocode:
Code:
FOR i = 0 to 99
  string := FormatIntoString(i, %02d)
  files := ListFolder(pattern= "^"+string+"*")
  IF ArraySize(files) > 0 THEN
    CreateFolder(string)
    FOR each file in files
       MoveFile(file, folder\file)
    NEXT
  ENDIF
NEXT
Sieht nicht so kompliziert aus…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2021, 09:06 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2021 09:19 von patrickbaker@gmx.de.)
Beitrag #3

patrickbaker@gmx.de Offline
patrick_baker


Beiträge: 7
Registriert seit: Jan 2020

LabView 2018 (32-Bit)
2019
DE


Deutschland
RE: Sortierung von Daten
Hi GerdW,

danke für die schnelle Antwort. Basierend auf dem Pseudocode habe ich sowas gemacht (siehe Anhang).

Ich habs noch nicht verstanden wie ich das FormatIntoString einbringen könnte.

VG

Patrick


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2021, 09:50 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2021 10:03 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sortierung von Daten
Hallo Patrick,

ich sehe nirgends ein IF-THEN-ELSE (Case-Struktur).
Ich sehe nirgends, wo du die Files-Ausgabe vom ListFolder verwendest…
Jetzt habe ich das doch gefunden. Aber warum weiterhin dieses SplitString? War das irgendwo im Pseudocode enthalten???

Irgendwie passt das alles noch nicht zum Pseudocode!

Sowas in der Art sollte eigentlich dabei herauskommen:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2021, 10:43 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2021 10:44 von patrickbaker@gmx.de.)
Beitrag #5

patrickbaker@gmx.de Offline
patrick_baker


Beiträge: 7
Registriert seit: Jan 2020

LabView 2018 (32-Bit)
2019
DE


Deutschland
RE: Sortierung von Daten
danke, muss ich mir aufjedenfall nochmal die basics anschauen

das hat für die ersten 100 gut funktioniert, danke dafür!

Ab hundert sind dann Dateien mit einem Buchstaben davor, also bspw. A01_Thermo_..., S03_Quanten_..., M05_Kern_... usw. (ohne

alphabetische Reihenfolge)

d.h. der Folder müsste den gleichen Namen haben wie die der erste Teil also A01, S03, M05 usw..

ich habe den Code so modifiziert, allerdings schiebt er alles in den ersten Ordner ;(


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2021, 11:29
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sortierung von Daten
Hallo Patrick,

Zitat:Ab hundert sind dann Dateien mit einem Buchstaben davor, also bspw. A01_Thermo_..., S03_Quanten_..., M05_Kern_... usw. (ohne alphabetische Reihenfolge)
Aha, also eine geänderte Spezifikation im Vergleich zu deiner ursprünglichen…

Dann musst du auch deine Programmierung entsprechend anpassen!

Zitat:der Folder müsste den gleichen Namen haben wie die der erste Teil also A01, S03, M05 usw..
ich habe den Code so modifiziert, allerdings schiebt er alles in den ersten Ordner ;(
Weil du das so programmiert hast!
In welchen Ordner soll denn "A01_*" geschoben werden? Und in welchen Ordner gehört "M05_*"?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.04.2021, 11:44 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2021 11:44 von patrickbaker@gmx.de.)
Beitrag #7

patrickbaker@gmx.de Offline
patrick_baker


Beiträge: 7
Registriert seit: Jan 2020

LabView 2018 (32-Bit)
2019
DE


Deutschland
RE: Sortierung von Daten
Ich habe zuerst nur für die ersten hundert gedacht und dann habe ich gemerkt dass es noch weitere gibtBig Grin

S01_* soll in einen neuen Ordner S01 geschoben werden, M06_* in M06 usw.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2021, 12:36 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2021 12:39 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sortierung von Daten

Akzeptierte Lösung

Hallo Patrick,

Zitat:S01_* soll in einen neuen Ordner S01 geschoben werden, M06_* in M06 usw.
Dann musst du das auch so programmieren!

Momentan holst du dir eine Liste ALLER Files und erzeugst einen Unterordner besierend auf dem Dateinamen des LETZTEN Files.
Wenn du die Dateien nach Namen sortieren/verschieben willst, solltest du mit dem Pattern bei ListFolder arbeiten - so wie in meinem Beispiel gezeigt…

Pseudocode:
Code:
nutze ListFolder und bestimme den Namen der ersten Datei
  Erstelle einen Unterordner nach deinem Schema
  benutze ListFolder mit Pattern, um alle Dateien zu finden, die zu der ersten Datei dazugehören
    verschiebe alle diese Dateien in den Unterordner
zurück auf Anfang, bis alle Dateien wegsortiert sind…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dateidialog Darstellung Ansicht: Details, Liste, Symbole & Sortierung Bigred 1 4.956 27.11.2012 15:41
Letzter Beitrag: jg

Gehe zu: