changer la date de modification de certains fichier

changer la date de modification de certains fichier - Perl - Programmation

Marsh Posté le 15-05-2012 à 09:45:44    

Bonjour.  
 
Mon autoradio m'affiche la liste des dossiers en fonction de la date de dernière modif.  
Existerait il un moyen de customiser à mon goût la liste des dernières modifs par perl ?  
 
Je souhaite développer un script qui me donne la liste des données puis me propose d'agancer les dates de modifs dans l'ordre ou je voudrais.
 
 
yoz
 
Bépo keyboard Addict

Reply

Marsh Posté le 15-05-2012 à 09:45:44   

Reply

Marsh Posté le 15-05-2012 à 11:55:15    

Tiens, je t'ai pondu ça vite fait:

Code :
  1. #!/usr/local/nin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. my @files = ('./dir1', './dir2', './dir3'); #liste dans l'ordre voulu
  6. my $time = time();
  7. $time -= (@files - 1)*60;
  8. foreach my $file (@files){
  9.  if (-e $file){
  10.    utime($time, $time, $file);
  11.    $time +=60;
  12.  }
  13. }


1) Tu met tes répertoires en liste dans l'ordre que tu veux avoir:
my @files = ('./japnames','./grabmanga'); #liste dans l'ordre voulu
ici, le script est dans le même répertoire que tes répertoires à trier, mais sinon, tu fais avant
my $path = 'le path vers le repertoire ou sont ceux à trier';
cd $path;
 
2) on récupère l'heure courante
my $time = time();
On va reculer d'autant de minute (sur mon PC, le tri se fait vis à vis des minutes apparemment) qu'il y a de répertoires dans la liste (en fait, moins un pour revenir a l'heure courante en dernière valeur utilisée)
$time -= (@files - 1)*60;
 
3) on boucle sur chaque répertoire:
On vérifie qu'il existe bien:
if (-e $file)
on met l'heure dernier accès et de modification à $time avec utime dont le proto est utime($acces_time, $modif_time, $file)  
utime($time, $time, $file);  
puis on avance $time de 1mn
$time +=60;
 
Dans mon exemple, si je lance la commande à 12h, je vais avoir:
dir1 date de modif: aujourd'hui a 11h58
dir2 date de modif: aujourd'hui a 11h59
dir3 date de modif: aujourd'hui a 12h
 
A+,


Message édité par gilou le 15-05-2012 à 12:00:33

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

Marsh Posté le 16-05-2012 à 00:48:22    

Merci beaucoup pour ta réponse.  
Tu m'as beaucoup avancé sur le sujet.  
 
yoz
 
Bépo Addict

Reply

Sujets relatifs:

Leave a Replay

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