Seite 1 von 1
alles in eine Verzeichnis löschen
Verfasst: 20.09.2021 14:07
von marcelx
Hallo,
wie kann ich alle Verzeichnis und Dateien in eine Verzeichnis löschen?
Habe ich in Hilfe nicht gefundet.
Ich könnt der Verzeichnis löschen mit DeleteDirectory mit #PB_FileSystem_Recursive und der Verzeichnis neue erzeugen.
Gruss
MarcelX
Re: alles in eine Verzeichnis löschen
Verfasst: 20.09.2021 16:34
von Axolotl
Hallo,
ja, deine Idee ist okay.
Alternative (wohl nicht wirklich besser) könnte so aussehen.
Ich habe es aber nicht getestet, da ich gerade keine Verzeichnisse zum Löschen verfügbar habe...
Code: Alles auswählen
Procedure ClearDirectory(Directory$) ;' Or PurgeDirectory() Or EmptyDirectory()
Protected item$
Directory$ = RTrim(Directory$, #PS$) :Debug #LF$+#PB_Compiler_Procedure + "(" + Directory$ + ")"
If ExamineDirectory(0, Directory$, "") ; "" == "*.*"
While NextDirectoryEntry(0)
item$ = DirectoryEntryName(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
;Debug " DeleteFile(" + Directory$ + #PS$ + item$ + ")"
DeleteFile(Directory$ + #PS$ + item$, #PB_FileSystem_Force)
Else ; #PB_DirectoryEntry_Directory
If item$ = "." Or item$ = ".." : Continue : EndIf
;Debug " DeleteDirectory(" + Directory$ + #PS$ + item$ + ")"
DeleteDirectory(Directory$ + #PS$ + item$, "", #PB_FileSystem_Force | #PB_FileSystem_Recursive)
EndIf
Wend
FinishDirectory(0)
EndIf
EndProcedure
Re: alles in eine Verzeichnis löschen
Verfasst: 20.09.2021 16:51
von marcelx
Danke Axoloti, das wäre das klassische loop
Wie ich das sehen, gibt es kein Befehle für das Löschen in eine Verzeichnis
Re: alles in eine Verzeichnis löschen
Verfasst: 20.09.2021 17:09
von Axolotl
ja, ich kenne auch nur diese selbstgestrickten Funktionen/Proceduren.
Re: alles in eine Verzeichnis löschen
Verfasst: 10.11.2021 21:54
von marcelx
Hallo,
Wie wäre es mit DeleteDirectory und dann CreateDirectory ?
Re: alles in eine Verzeichnis löschen
Verfasst: 11.11.2021 07:20
von Bisonte
Ein
Code: Alles auswählen
Debug DeleteDirectory(Directory$, "", #PB_FileSystem_Force | #PB_FileSystem_Recursive)
reicht vollkommen aus. Es löscht das Verzeichnis mit all seinen Files und Unterverzeichnissen und dessen Files usw. .