IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

De zipper dans un dossier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par défaut De zipper dans un dossier
    Bonsoir à tous,

    J'ai essayé par tous les moyens de de zipper un dossier sous, je vous explique :

    J'ai un certain nombre de dossiers zippés et ils contiennent tous des fichiers directement dans le dossier zippé et quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
    $a="";
    @progc = <*.zip>;
    foreach (@progc) 
    {
    $a=$_;
    print("$a\n");
    $zip = Archive::Zip->new();
    $zip->read( "$a");
    @members = $zip->members();
    $b=substr($a,0,length($a)-4);
    foreach $element(@members)
    {
      print "$element\n";
      $zip->extractMember($element);
    }
    }
    Ce script de zippe directement à la racine, je veux donc de zipper sous, je vous donne un exemple :
    J'ai l'arborescence suivante :
    dans le dossier A il y a B.zip qui contient c.xls et d.xls, mon script me donne :
    dans le dossier A il y a B.zip et c.xls et d.xls, alors que moi je veux obtenir ce résultat :
    dans le dossier A il y a B.zip et le dossier B, dans le dossier B je trouve c.xls et d.xls.

    Est-il possible d'atteindre ce but ?

    Merci de m'aider.

    H.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Essaye de:
    - extraire le nom de ton fichier zip (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($folderName) = $zipName =~ /(.*).zip/;
    Ensuite, il faut encore créer le répertoire $foldername,
    et soit se placer dans le répertoire pour la décompression,
    soit essayer de décompresser avec un nom de fichier en 2ème argument de extractMember:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $zip->extractMember($element, $folderName/$element);

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par défaut
    Bonsoir 50Nio,

    Finalement, c'est plus ou moins la solution que j'ai adoptée, je croyais que je pouvais éviter de créer de nouveaux dossiers à chaque fois .

    Ceci dit, je trouve intéressant votre bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ($folderName) = $zipName =~ /(.*).zip/;
    que je ne connaissais pas.

    Merci pour votre aide .

    H.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Parfait !

    A bientôt !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Zipper en boucle dans un dossier
    Par Mysen dans le forum ANT
    Réponses: 1
    Dernier message: 10/12/2012, 17h46
  2. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26
  3. acceder à 1fichier dans un dossier....
    Par nouna dans le forum Langage
    Réponses: 3
    Dernier message: 09/10/2005, 01h22
  4. [OmniMark 5] Copier contenu d'un dossier dans autre dossier
    Par Hoegaarden dans le forum Autres langages
    Réponses: 3
    Dernier message: 24/08/2005, 16h59
  5. acces à la Bd situee dans le dossier parent
    Par trialrofr dans le forum ASP
    Réponses: 4
    Dernier message: 04/01/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo