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

Programmation et administration système Perl Discussion :

Script de scrutation de dossier et de sous dossier


Sujet :

Programmation et administration système Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Script de scrutation de dossier et de sous dossier
    Bonjour je viens vous voir car je suis actuellement entrain de faire un script permettant de lire dans le fichier d'un dossier et récupérer les phrase commençant par un motif(une lettre ou un mot).

    Pour ceci pas de problème m'ont problème vient du faite que j'aimerai scruter les sous dossier du dossier choisit et quand je lance mon code ce n'es pas le sous dossier qui est lut mais le dossier ou se trouve m'ont script.

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    #!/usr/bin/perl
     
     
    # Saisie du dossier 
    print "\n Quel dossier ? ";
    $Dossier=<STDIN>;
    chomp($Dossier);
     
    # Saisie du motif 
    print "\n Quel motif ? ";
    $Motif=<STDIN>;
    chomp($Motif);
     
    # Saisie du nom du rapport
    print "\n Quel nom pour le rapport ? ";
    $Rapport=<STDIN>;
    chomp($Rapport);
     
    # Créer le fichier rapport
    open (fichierRapport, "> $Rapport"); # Ouverture du fichier rapport en écriture
     
    $DateDuJour=`date`; # récupération de la date du systeme avec les quotes inversées dans la variable date du jour
    print fichierRapport "Date : $DateDuJour"; 
    print fichierRapport "Dossier : $Dossier\n\n";
     
    #Listing des fichiers du répertoire
    opendir REP,$Dossier; #descripteur de répertoire.
    @listFile = readdir REP; # la liste des fichiers (et répertoires) de D
    close REP; 
     
    #Affichage temporaire de la liste des fichiers
    #foreach (@listFile)
    #{
    #	print "$_ ";
    #}
     
    $i=0;
     
    foreach (@listFile)
    {
    	$i++;
    	if (-f "$Dossier/$_") # si $_ est un fichier et non un dossier ou un repertoire
    	{
    		#print "\nFichier : $_\n\n";		
    		print fichierRapport "\n\nFichier : $_\n\n";
     
    		open (fichierLu, "< $Dossier/$_");
    		$compteur = 0;
    		while ($l = <fichierLu>)
    			{
    			$compteur++;
    			if ($l =~ /^$Motif/)
    				{ 
    				 print fichierRapport "ligne $compteur : $l";
    				}	
    			}
    		close fichierLu;
    	}
    	else
    	{
    		if (-d "$Dossier/$_")
    		{
    		$SousDossier="$Dossier/$_";
    		}
     
     
    		print $SousDossier;
    		print "\n";
    		#Listing des fichiers du répertoire
    		opendir REP,$SousDossier; #descripteur de répertoire.
    		@listFile2 = readdir REP; # la liste des fichiers (et répertoires) de D
    		close REP; 
     
    		foreach (@listFile2)
    {
    	if (-f "$SousDossier/$_") # si $_ est un fichier et non un dossier ou un repertoire
    	{
    		#print $SousDossier
    		#print "\nFichier du sous dossier : $_\n\n";		
    		print fichierRapport "\n\nFichier : $_\n\n";
     
    		open (fichierLu2, "< $SousDossier/$_");
    		$compteur = 0;
    		while ($l = <fichierLu>)
    			{
    			$compteur2++;
    			if ($l =~ /^$Motif/)
    				{ 
    				 print fichierRapport "ligne $compteur : $l";
    				}
     
    			}
    		close fichierLu2;
    	}
    	}
    }
    }
     
    close fichierRapport;
     
    print "\nTraitement termine";
    print "\nRapport genere : $Rapport";
    print "\n\nAurevoir\n\n";

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci, j'ai put évoluer dans mon problème mon script marche bien mais quand il cherche les sous répertoire il cherche dans les répertoire du style répertoire/.. (qui est le répertoire précédant) et dans répertoire/. (qui est le répertoire courant.

    Je reformule donc ma question comment je pourrais exclure ces deux répertoire de ma recherche?

    Edit: C'est bon j'ai trouver je c'est pas si bien tourner car j'ai fait que du c++ avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ($_ eq ".." | $_ eq ".")
    {
    }
    else
    {
    ...
    ...
    ...
    }

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Désolé, mais sans voir ton code, difficile de t'aider car le code de la FAQ évite le parcours des répertoires . et ..

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

Discussions similaires

  1. [Batch] Déplacer les fichiers des dossiers et des sous dossiers vers un autre dossier
    Par mathou115 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 25/06/2014, 11h17
  2. Zipper un dossier avec ses sous-dossiers
    Par mnssylvain dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/01/2008, 00h42
  3. Réponses: 4
    Dernier message: 29/08/2006, 19h02
  4. Creation d'un dossier et des sous dossier
    Par fraizas dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 14/11/2005, 17h30
  5. Comment copier un dossier et ses sous dossiers ?
    Par touhami dans le forum Langage
    Réponses: 5
    Dernier message: 30/12/2004, 17h10

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