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 :

parcourir tous les répertoires contenus dans un répertoire pour les renommer


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 19
    Points : 11
    Points
    11
    Par défaut parcourir tous les répertoires contenus dans un répertoire pour les renommer
    Bonjour,
    J'ai un répertoire père qui contient pleins de répertoires fils.
    Je souhaite faire une boucle pour renommer tous les réperoires fils.
    Tous les repertoires fils contiennent des fichiers et je souhaite renommer tous les fichiers.
    rmque : tous les repertoires sont nommés sur le meme format, pareil pour les fichiers.

    Exemple :
    -repertoire pere: uds
    repertoire fils: uds.1 uds.2 uds.3 uds.4
    Je souhaite obtenir uds1 uds2 uds3 uds4 ..............

    - les reperoires fils contiennent des fichiers qui ont pour nom u_0_ezf_zez.usb u_11_kjdnazd.usb u_2_zzenfz.usb je souhaite obtenir u_ezf_zez.usb u_kjdnazd.usb u_zzenfz.usb
    Voici mon code :
    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
     
     
    #!/usr/bin/perl
    use strict;
     
    #je suis dans le reperoitre pere uds 
    #je n'arrive pas lui faire boucler pour passer de repertoire en repertoire, je suis donc dansle premier repertoire je le renomme
     for my $rep
      {
         (my $nom, my $chiffre) = split ('.');
          rename ("$rep","$nom$chiffre");  
     
           while (<$input_fh>)
             {
    	  chomp;
              #mes fichiers sont de la forme u_1_bla_blr_.usb
    	  (my $un, my $deux, my$trois, my$quatre, my$cinq) = split ('_');
              #je ne supprime que le premier '_' je garde les autres           
               rename("$input_fh","$un$deux_$trois_$quatre_$cinq");
             }
    Merci bcp pour votre aide.

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Fais plutôt une récursion (et utilise opendir et readdir pour ouvrir et lire tes répertoires).

    Ce coup-là je ne te mets pas de code mais tu peux t'inspirer de ce script (un vieux truc pas retouché depuis longtemps mais l'idée est là).

Discussions similaires

  1. [XL-2007] Comment lister les fichiers contenus dans un répertoire Sharepoint
    Par Riri80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2020, 08h50
  2. Réponses: 1
    Dernier message: 19/03/2014, 08h47
  3. [XL-2003] Récupérer noms de répertoires contenus dans un répertoire
    Par thomas.chretiennot dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2009, 14h14
  4. Réponses: 3
    Dernier message: 25/09/2008, 10h26
  5. Réponses: 5
    Dernier message: 25/06/2007, 23h25

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