ich bekomme mal wieder was nicht hin. Folgendes Problem habe ich:
Ich möchte ein Verzeichnis einlesen, wo viele Dateien drin sind.
Diese Dateien sind in Sätze gegliedert, die zu einem Artikel gehören. Beispiel:
01-006745.013-a Artikelliste.pdf
01-006745.013-a Teileliste.pdf
01-006745.013-a.dxf
01-006745.013-b Artikelliste.pdf
01-006745.013-b Teileliste.pdf
01-006745.013-b.dxf
01-006746.013 Artikelliste.pdf
01-006746.013 Teileliste.pdf
01-006746.013.dxf
01-006746.013-a Artikelliste.pdf
01-006746.013-a Teileliste.pdf
01-006746.013-a.dxf
01-006746.013-b Artikelliste.pdf
01-006746.013-b Teileliste.pdf
01-006746.013-b.dxf
Wie Ihr seht, sind es zwei Artikel, unschwer an der 13-stelligen Artikelnummer zu erkennen. Diese Dateien unterscheiden sich nur in der Revision, gekennzeichnet aufsteigend mit "-a", "-b", aber zum Beispiel auch "-aa" oder "-gh".
Nun möchte ich die älteren Dateien eines Artikels in ein Sicherungsverzeichnis (ein Unterverzeichnis innerhalb des Verzeichnisses) verschieben. Zum Beispiel soll dann in dem Verzeichnis von dem Artikel 01-006746.013 nur die Dateien mit der Erweiterung "-b" in dem Verzeichnis bleiben. Wie bekomme ich das am besten hin?
Hinweis: Es kann auch vorkommen, das die Datei den Namen 01-006746.013-sz Artikelliste.pdf exestiert.
Hier mal den Code, den ich mir bis jetzt zusammengestrickt habe:
Code: Alles auswählen
Procedure ListFiles(Pfadangabe.s, Verzeichnisangabe.s)
Pfadangabe.s + "\"
UsedDirectory.l = ExamineDirectory(#PB_Any, Pfadangabe.s, "*.*")
While NextDirectoryEntry(UsedDirectory.l)
EntryType.l = DirectoryEntryType(UsedDirectory.l)
EntryName.s = DirectoryEntryName(UsedDirectory.l)
If EntryName.s = "." Or EntryName.s = "..": Continue: EndIf
If EntryType.l = #PB_DirectoryEntry_File
Debug "File: " + Pfadangabe.s + EntryName.s
EndIf
If EntryType.l = #PB_DirectoryEntry_Directory: ListFiles(Pfadangabe.s + EntryName.s, Verzeichnisangabe.s): EndIf
Wend: FinishDirectory(UsedDirectory.l)
EndProcedure
ListFiles("D:\Beispiel Daten", "Sicherungsverzeichnis"
Vielen Dank, Gruß Frank