Hallo,
Wie finde ich die Anzahl der Dateien in einem Ordner?
Gruß
Anzahl der Dateien in einem Ordner
Anzahl der Dateien in einem Ordner
Win-10, PB 5.31 (Windows - x86)
Re: Anzahl der Dateien in einem Ordner
ExamineDirectory() und eine Variable, um die Dateien zu zählen.
Mit DirectoryEntryType() kannst du unterschieden zwischen Ordner (#PB_DirectoryEntry_Directory) und Dateien (#PB_DirectoryEntry_File).
Wenn du auch die Dateien in Unterverzeichnissen mitzählen möchtest, musst du deine Prozedur rekursiv abrufen, bis alle Unterordner ermittelt wurden.
Hilfsverzeichnisse "." und ".." musst du in deiner Abfrage ausschließen bzw. ignorieren.
Mit DirectoryEntryType() kannst du unterschieden zwischen Ordner (#PB_DirectoryEntry_Directory) und Dateien (#PB_DirectoryEntry_File).
Wenn du auch die Dateien in Unterverzeichnissen mitzählen möchtest, musst du deine Prozedur rekursiv abrufen, bis alle Unterordner ermittelt wurden.
Hilfsverzeichnisse "." und ".." musst du in deiner Abfrage ausschließen bzw. ignorieren.
[Gelöst] Anzahl der Dateien in einem Ordner
Danke RSBasic für den Hinweis
Code: Alles auswählen
InitialPath$ = "C:\"
Directory$ = PathRequester("Bitte wählen Sie einen Pfad aus", InitialPath$)
Procedure.i CountFiles (sPath.s)
Protected numFiles = 0
Protected handle
If Right(sPath, 1) <> "\"
sPath + "\"
EndIf
handle = ExamineDirectory(#PB_Any, sPath, "*.*")
If handle = 0
ProcedureReturn 0
EndIf
While NextDirectoryEntry(handle)
If DirectoryEntryType(handle) = #PB_DirectoryEntry_File
numFiles + 1
Else
If DirectoryEntryName(handle) <> "." And DirectoryEntryName(handle) <> ".."
numFiles + CountFiles(sPath + DirectoryEntryName(handle))
EndIf
EndIf
Wend
FinishDirectory(handle)
ProcedureReturn numFiles
EndProcedure
Debug CountFiles(Directory$)
Win-10, PB 5.31 (Windows - x86)