Seite 1 von 1

directory packen

Verfasst: 12.06.2022 22:38
von bin_neu_hier
Hi,

versuche gerade, eine kleine Packroutine zusammenzufriemeln:

Code: Alles auswählen

UseZipPacker()
InitialPath$ = GetCurrentDirectory()
pathtozip$ = PathRequester("Wählen Sie einen Pfad aus", InitialPath$)
If pathtozip$
  InitialPath$ = "C:\"
  savepath$ = PathRequester("Wählen Sie den Speicherort", InitialPath$)
  If savepath$
    examdir = ExamineDirectory(#PB_Any, pathtozip$, "*.*")
    If examdir <> 0 
      zipnum = CreatePack(#PB_Any, savepath$ + FormatDate("%yyyy_%dd_%mm_%hh_%ii_%ss", Date()) + ".zip") 
      If zipnum <> 0
        While NextDirectoryEntry(examdir)
          datei$ = DirectoryEntryName(examdir)
          If DirectoryEntryType(examdir) = #PB_DirectoryEntry_File
            AddPackFile(zipnum, datei$, datei$)
          EndIf
        Wend
        ClosePack(zipnum)
        FinishDirectory(examdir)
      Else
        MessageRequester("Fehler", "Archiv kann nicht geöffnet werden", 0) 
      EndIf
    Else
      MessageRequester("Fehler", "ExamineDirectory", 0) 
    EndIf  
  Else
    MessageRequester("Fehler", "Abbruch savepath", 0) 
  EndIf
EndIf
End
Die Routine soll ein bestimmtes Verzeichnis in eine ZIP-Datei packen. Nur das Verzeichnis, nicht evtl. vorhandene Unterverzeichnisse. Leider produziert es nur leere Zip-Dateien und ich sehe vor lauter Wald die Bäume nicht mehr. Wer kann mir den (wahrscheinlich offensichtlichen) Fehler zeigen?

Grüße aus dem sonnigen Hessen

Re: directory packen

Verfasst: 12.06.2022 23:58
von Kiffi
Bei AddPackFile musst Du den kompletten Pfad nebst Namen der Datei angeben. datei$ beinhaltet nur den reinen Dateinamen.

Code: Alles auswählen

AddPackFile(zipnum, pathtozip$ + datei$, datei$)

Re: directory packen

Verfasst: 13.06.2022 07:22
von bin_neu_hier
Herzlichen Dank!