Page 1 sur 1

[RESOLU] Compresser un dossier (répertoire)

Publié : mer. 10/nov./2021 16:58
par omega
Bonsoir

Depuis plus de 2 heures en train d'essayer de compresser un dossier mais rien à faire. Où se trouve l'erreur SVP?

Merci

Code : Tout sélectionner

UseZipPacker()
 
dossier$ = GetCurrentDirectory()
 Dossier$ = PathRequester("Choisissez un dossier à compresser", dossier$)
 If Dossier$
    ;Récupérer le nom du dossier (sans chemin)
     For k=1 To CountString(dossier$,"\")
       NomDossier$=StringField(dossier$, k, "\")
     Next
        
     ZipFile$=NomDossier$+".zip"
     Debug ZipFile$
     
     ; Créer le fichier compressé
     If CreatePack(1, ZipFile$) 
  
    ; Ajouter vos fichiers 
     If ExamineDirectory(0, dossier$, "*.*")  
        While NextDirectoryEntry(0)
          If DirectoryEntryType(0) = #PB_DirectoryEntry_File
             File$=DirectoryEntryName(0)
             AddPackFile(1, file$,file$)  
          EndIf
        Wend
        FinishDirectory(0)
      EndIf
      ClosePack(1) 
  EndIf
  

Re: Compresser un dossier (répertoire)

Publié : mer. 10/nov./2021 17:38
par omega
Je ne comprends pas pourquoi 2 fichers seulement sont compresssés dans le dossier alors qu'il y a plus de 20 fichiers dans le répertoire à compresser

Re: Compresser un dossier (répertoire)

Publié : mer. 10/nov./2021 22:08
par venom
Un peut de modif et dépoussiérage :lol:

Code : Tout sélectionner

UseZipPacker()
 
dossier$ = GetCurrentDirectory()
 Dossier$ = PathRequester("Choisissez un dossier à compresser", dossier$)

   ;Récupérer le nom du dossier (sans chemin)
  NomDossier$ = Left(GetPathPart(Dossier$), Len(Dossier$)-1)

   ; Créer le fichier compressé
   If CreatePack(1, NomDossier$+".zip") 
  
    ; Ajouter vos fichiers 
     If ExamineDirectory(0, dossier$, "*.*")  
       While NextDirectoryEntry(0)
          If DirectoryEntryType(0) = #PB_DirectoryEntry_File
            File$=DirectoryEntryName(0)
            AddPackFile(1, dossier$+file$,file$)  ; ne pas oublier dans le 2eme parametre de renvoyer le chemin complet du fichier ;) Et dans le 3eme uniquement le nom du fichier
          EndIf
        Wend
        FinishDirectory(0)
      EndIf
      ClosePack(1) 
   EndIf 





@++

Re: Compresser un dossier (répertoire)

Publié : jeu. 11/nov./2021 15:46
par omega
Merci (c'est ^pourtant ce que je pensais) car cela s'explique: il vient de m'afficher 2 fichiers (debug après pack) et ces fichiers se trouvent au même niveau que le dossier à compresser et non pas DANS ce dossier

Merci encore venom

Re: [RESOLU] Compresser un dossier (répertoire)

Publié : ven. 12/nov./2021 10:10
par venom
De rien






@++