Page 1 sur 1

[RESOLU] Décompresser une suite de fichiers

Publié : ven. 01/juil./2022 18:57
par omega
Je ne comprends pas pourquoi ce code ne fonctionne pas... Il s'agit de décompresser des fichiers (zip) l"un après l'autre. Ici, seul le premier fichier est décompressé....

Code : Tout sélectionner

UseZipPacker()
rep$=GetCurrentDirectory()+"Data1"
 If ExamineDirectory(0, Rep$, "*.zip")  
    While NextDirectoryEntry(0)
      If DirectoryEntryType(0) = #PB_DirectoryEntry_File
        zipfile$=DirectoryEntryName(0)
        dbfile$=Left(zipfile$,Len(zipfile$)-4)+".db"
        OpenPack(0, "data1/" + ZipFile$)    
        If ExaminePack(0)
           While NextPackEntry(0)
             UncompressPackFile(0, "Data1\"+dbfile$)
             Debug zipfile$ + " décompressé : " + dbfile$
           Wend
        EndIf
        ClosePack(0)
      EndIf
    Wend
    FinishDirectory(0)
  EndIf
  
  
Merci d'avance

Re: Décompresser une suite de fichiers

Publié : ven. 01/juil./2022 21:57
par cage
Bonjour,
Ton code fonctionne parfaitement chez moi avec PB 6.00 et Windows 10 Pro
Code légèrement modifié:

Code : Tout sélectionner

UseZipPacker()
rep$=GetCurrentDirectory()+"Data1"
If ExamineDirectory(0, Rep$, "*.zip")  
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      zipfile$=DirectoryEntryName(0)
      Debug zipfile$
      dbfile$=Left(zipfile$,Len(zipfile$)-4)+".db"
      Debug dbfile$
      If OpenPack(0, "Data1\" + ZipFile$)
        If ExaminePack(0)
          While NextPackEntry(0)
            UncompressPackFile(0, "Data1\"+dbfile$)
            Debug zipfile$ + " décompressé : " + dbfile$
          Wend
        EndIf
        ClosePack(0)
      EndIf
    EndIf
  Wend
  FinishDirectory(0)
EndIf
cage

Re: Décompresser une suite de fichiers

Publié : sam. 02/juil./2022 0:17
par omega
Bonsoir Cage et merci d'avoir essayé, toutefois, je me suis peut être mal exprimé. En fait, le fichier décompressé figure sur la liste des fichiers, seulement il est vide et ne contient rien alors qu'il contenait des données avant la compression. C'est pour cette raison que j'ai déduit que la décompression ne fonctionne pas... J'ai essayé ton code (pratiquement le même que le mien) mais toujours le même résultat.

Re: Décompresser une suite de fichiers

Publié : sam. 02/juil./2022 8:18
par cage
Bonjour omega,
Quand j'ai fais l'essai de ton code, je suis parti de 3 fichiers textes que j'ai zippé avec Bandizip.
Après exécution du code, j'ai retrouvé exactement mes 3 fichiers textes de départ.
Je teste la validité des fichiers avec HashMyFiles de NirSoft.
Je viens de recommencer en ajoutant un gros fichier exécutable zippé et le résultat est le même.
Tes fichiers sont peut-être ouverts par ailleurs ce qui pourrait expliquer que ça ne fonctionne pas pour toi.
Difficile a dire a distance.
cage

Re: Décompresser une suite de fichiers

Publié : dim. 03/juil./2022 1:18
par omega
C'est bon, ça marche, je n'ai rien changé au code à part la fermeture de la base de données avant l'opération unzip et la réouverture après l'opération unzip. Voilà! Ne pas oublier cette obligation c 'est important. Merci à Cage.