alles in eine Verzeichnis löschen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
marcelx
Beiträge: 424
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

alles in eine Verzeichnis löschen

Beitrag 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
Win-10, PB 5.31 (Windows - x86)
Axolotl
Beiträge: 146
Registriert: 31.12.2008 16:34

Re: alles in eine Verzeichnis löschen

Beitrag 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 
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
Benutzeravatar
marcelx
Beiträge: 424
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: alles in eine Verzeichnis löschen

Beitrag 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
Win-10, PB 5.31 (Windows - x86)
Axolotl
Beiträge: 146
Registriert: 31.12.2008 16:34

Re: alles in eine Verzeichnis löschen

Beitrag von Axolotl »

ja, ich kenne auch nur diese selbstgestrickten Funktionen/Proceduren.
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
Benutzeravatar
marcelx
Beiträge: 424
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: alles in eine Verzeichnis löschen

Beitrag von marcelx »

Hallo,

Wie wäre es mit DeleteDirectory und dann CreateDirectory ?
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: alles in eine Verzeichnis löschen

Beitrag 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. .
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Antworten