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

Administration système Discussion :

unzip fichiers dans un sous-répertoire


Sujet :

Administration système

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut unzip fichiers dans un sous-répertoire
    bonjour
    j'aimerais un script qui dezippe plusieurs fichiers zip d'un même repertoire
    se rend dans les sous-reps des fichiers dezippés et copie les fichiers de ces
    sous-reps dans un autre rep

    voici l'ebauche
    qui fonctionne sauf pour la partie qui va dans les sous-reps

    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
    19
    20
    21
    22
    23
    #!/bin/bash
    for i in *.zip
    do
            unzip  $i  //// probleme ici
    done
    cd $i
    mv -f *.mp3 /home/deny/Desktop
    rm *.jpg
    rm *.gif
    rm *.m3u
    rm *.db
    rm *.nfo
    rm *.doc
    rm *.JPG
    rm *.bmp
    rm *.txt
    rm *.rar
    rm *.URL
    rm *.url
    rm *.rtf
    rm *.csv
    rm *.png
    rm *.url
    merci pour votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bonjour,
    Il faut mettre quelque chose dans ce genre:

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut
    pas mieux
    les fichiers ne sont toujours pas copiés dans
    /home/deny/Desktop


    ils sont bien dézippés , mais restent dans
    /home/deny/Desktop/repertoire-unzippé/

    alors que je souhaiterai que ces fichiers soient copiés dans
    /home/deny/Desktop apres dezippage

    merci

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Tu as ecrit
    unzip $i //// probleme ici
    puis
    cd $i ///probleme ici
    Ca coince ou exactement? Tu fais cd $i mais chaque archive toto.zip cree un repertoire toto?

    Deuxieme probleme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i in $(ls *.zip)
    do
    unzip $i
    done
    #ici $i contient la valeur du dernier i, donc
    cd $i #est en fait cd dernier-repertoire
    Il me semble qu'il serait mieux de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for i in $(ls *.zip)
    do
    unzip $i
    cd $i 
    mv "tes trucs"
    rm "le reste"
    cd ..
    rm -d $i
    done
    edit:
    plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    unzip $i
    cd $i 
    mv "tes trucs"
    cd ..
    rm -rd $i

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut
    puis
    Citation:
    cd $i ///probleme ici
    Ca coince ou exactement? Tu fais cd $i mais chaque archive toto.zip cree un repertoire toto?

    ca coince au moment de cd $i
    apparemment le script ne se positionne pas dans le repertoire unzippé
    et donc les fichiers à l'intèrieur ne sont pas copiés vers le rep de destination


    on va essayer donc la méthode plus simple que tu indiques

    #!/bin/bash

    unzip $i
    cd $i
    mv -f *.mp3 /home/deny/Desktop
    cd ..
    rm -rd $i

    ./unzip.sh
    UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send
    bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

    Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
    Default action is to extract files in list, except those in xlist, to exdir;
    file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
    methode qui ne me semble pas plus adequate
    bref on tourne gentiment en rond

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Ben si ton script est vraiment juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
     
    unzip $i
    cd $i
    mv -f *.mp3 /home/deny/Desktop
    cd ..
    rm -rd $i
    Alors c'est tout a fait normal...

    Tape en console unzip <rien> et tu auras le meme resultat . Il faut integrer ca dans la boucle qui met une valeur dans $i...

    Et chaque archive cree un repertoire? Ou ca depend?
    Parce que si ca depend faut en plus tester l'existence (de toute maniere c'est une bonne idee de tester l'existence: rigueur, robustesse tout ca tout ca...).

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut
    Tape en console unzip <rien> et tu auras le meme resultat . Il faut integrer ca dans la boucle qui met une valeur dans $i...
    bien sur , mais le probleme n'est pas la
    $i n'aura pas la meme valeur quand il se présente en fichier.zip,
    et quand il est dézippé, c'est sans doute pour cela que la ligne
    cd $i ne fonctionne pas


    Et chaque archive cree un repertoire? Ou ca depend?
    la question ne se pose meme pas
    la plupart des fichiers dezippés créent leur propre repertoire, dont le nom
    diffère encore du fichier.zip lui-même, ou bien alors il sont dézippés dans
    le repertoire courant et la question du script ne se pose pas


    bon on va en rester la
    visiblement et en essayant de garder tout le respect et le tact necessaire,
    tu n'en sais pas beaucoup plus que moi à ce sujet, sinon ce genre de précisions ne s'avereraient pas necessaires, je vais donc chercher par moi-même , ce qui évitera un sujet à rallonge

    donc fin du sujet pour ma part

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par deny Voir le message
    bon on va en rester la
    visiblement et en essayant de garder tout le respect et le tact necessaire,
    tu n'en sais pas beaucoup plus que moi à ce sujet, sinon ce genre de précisions ne s'avereraient pas necessaires,
    Je vois pas ou tu vois du respect dans ta reponse. Je suis pas devant ton pc, je prend sur mon temps pour t'aider a ecrire un petit script trivial et tu rales ala premiere difficulte.

    Citation Envoyé par deny Voir le message
    je vais donc chercher par moi-même , ce qui évitera un sujet à rallonge

    donc fin du sujet pour ma part
    Normalement on commence par la.


    Citation Envoyé par deny Voir le message
    bien sur , mais le probleme n'est pas la
    $i n'aura pas la meme valeur quand il se présente en fichier.zip,
    et quand il est dézippé, c'est sans doute pour cela que la ligne
    cd $i ne fonctionne pas
    Oui c'est vrai. ben sed
    Et l'erreur que tu as postee est donnee par unzip, donc avant la tentative de cd.

    Citation Envoyé par deny Voir le message
    la question ne se pose meme pas
    la plupart des fichiers dezippés créent leur propre repertoire, dont le nom
    diffère encore du fichier.zip lui-même, ou bien alors il sont dézippés dans
    le repertoire courant et la question du script ne se pose pas
    ben la question se pose justement. Je suis pas devant ton pc. Et si il y a des melanges il faut prendre en compte les deux cas pour eviter de planter le script.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Points
    795
    Par défaut
    ben la question se pose justement. Je suis pas devant ton pc. Et si il y a des melanges il faut prendre en compte les deux cas pour eviter de planter le script.
    Nul besoin d'être devant mon pc, il suffit de prendre deux fichiers zip quelconques, et d'essayer au minimum les solutions que tu préconises tu ne manqueras pas de comprendre qu' aucune ne fonctionne

    On continue le troll, où cela sera suffisant ?

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

Discussions similaires

  1. [Débutant] Compter les fichiers dans les sous répertoires d'un dossier
    Par Pouknouki dans le forum VB.NET
    Réponses: 9
    Dernier message: 25/02/2012, 13h16
  2. [XL-2003] recherche un fichier dans des sous répertoire et recopier son contenu
    Par hallscar dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/12/2011, 20h30
  3. Suppression de fichiers dans des sous-répertoires
    Par astrolane dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2007, 15h22
  4. Réponses: 7
    Dernier message: 12/09/2006, 14h22
  5. Recherche de fichiers dans des sous répertoires
    Par Mimi Bulles dans le forum Langage
    Réponses: 8
    Dernier message: 25/04/2006, 16h41

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