Récupération fichier plus récent

Récupération fichier plus récent - Perl - Programmation

Marsh Posté le 29-08-2014 à 12:21:11    

Bonjour,
 
Est-il possible de récupérer dans une variable le fichier le plus récent d'un répertoire ?
 
Merci d'avance.

Reply

Marsh Posté le 29-08-2014 à 12:21:11   

Reply

Marsh Posté le 29-08-2014 à 18:34:48    

A priori, je ferais comme suit:
- faire opendir sur le répertoire
- créer un couple de variables nom de fichier et temps pour stocker le résultat
- boucler et pour chaque entrée qui est un fichier (-f) récupérer le temps de la dernière modification (stat)
- comparer avec le temps stocké, s'il est postérieur, stocker le nom et temps de dernière modif à la place de ceux stockés
- une fois la boucle terminée faire un closedir
=> on a le nom du fichier qui est stocké dans la variable ad hoc.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 30-08-2014 à 10:54:42    

Bref un truc dans ce style ci:

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use autodie;
  5. use Cwd;
  6.  
  7. my $dir = './bat';  # a remplacer par le nom du répertoire voulu
  8. my $file;
  9. if (opendir(my $dh, $dir)) {
  10.  my $old_dir = getcwd();
  11.  chdir($dir);
  12.  my $ftime = 0;
  13.  foreach (readdir($dh)) {
  14.    if (-f) {
  15.      if ((stat)[9] > $ftime) {
  16.         $file = $_;
  17.         $ftime = (stat)[9];
  18.      }
  19.    }
  20.  }
  21.  closedir($dh);
  22.  chdir($old_dir);
  23. }
  24. print $file if defined($file);
 

A+,


Message édité par gilou le 30-08-2014 à 10:56:06

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 01-09-2014 à 13:26:03    

bonjour Gilou,
 
Merci beaucoup encore car c'est exactement ce qu'il me fallait.
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed