Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
482 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Suppression de fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Suppression de fichier

n°2249600
coolkis
Posté le 28-01-2015 à 11:01:23  profilanswer
 

Bonjour,
 
Je voudrais supprimer l'ensemble des fichiers d'un répertoire sauf certains type de fichier !
 
Exemple tous les fichiers de type "*.pl*" et certains fichiers passés en paramètre.
 
Le script ci-dessous fait presque le travail sauf qu'il supprime quand même les fichier ".pl".
Je suppose que cela se passe dans le if. Je ne sais pas comment exclure l'ensemble de mon tableau "@fic1".
 

Code :
  1. my $TMP_DIR = 'C:\Users\Downloads';
  2. File::Find::find(\&search, ($TMP_DIR));
  3. sub search {
  4. @fic1 = glob('*.pl');
  5. my $fic2 = 'fichier1.log';
  6. my $fic3 = 'fichier2.log';
  7.   if( $_ ne @fic1 && $_ ne $fic2 && $_ ne $fic3 ) {
  8.     unlink $_;
  9.   }
  10. }


 
Quelqu'un peut-il m'aider svp ?
Merci.

mood
Publicité
Posté le 28-01-2015 à 11:01:23  profilanswer
 

n°2249605
gilou
Modérateur
Modzilla
Posté le 28-01-2015 à 11:30:55  profilanswer
 

$_ ne @fic1 ça marche pas pour ce que tu veux faire.
 
En début de search, il suffit de faire
return if /\.pl\z/;
 
donc
sub search {
    # return if -d; si besoin est
    return if /\.pl$/o;
    return if /^fichier[12].log$/o;
    unlink;
}
devrait coller.
 
A+,


Message édité par gilou le 28-01-2015 à 11:48:59

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --    In umbra igitur pugnabimus. --
n°2249611
coolkis
Posté le 28-01-2015 à 13:41:48  profilanswer
 

Merci, ça fonctionne très bien.
 
Par contre est-il possible de mettre les variables à la place des noms des fichiers dans le "return if" ?

n°2249613
gilou
Modérateur
Modzilla
Posté le 28-01-2015 à 13:53:33  profilanswer
 

Oui, une regexp peut contenir des variables, mais si leur valeur varie au cours du programme, il faut supprimer le o final de /.../o;  
 
A+,


Message édité par gilou le 28-01-2015 à 13:54:22

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --    In umbra igitur pugnabimus. --
n°2249640
coolkis
Posté le 28-01-2015 à 15:57:16  profilanswer
 

Merci beaucoup.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Suppression de fichier

 

Sujets relatifs
Suppression d'un fichier en lecture seuleEcriture et suppression dans un fichier
Suppression d'un fichier sur le réseau par commande dossuppression de lignes dans un fichier
Script pour suppression auto fichier de logSuppression fichier Filesonic
Suppression fichierSuppression du fichier desktop.htt par VBS
suppression structure dans fichierSuppression d'ancien fichier en PERL
Plus de sujets relatifs à : Suppression de fichier


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR