Bonjour,
J'ai un petit programme pour faire le ménage de mes fichiers > que 15 jours mais j'aimerais savoir comment faire pour faire le ménage dans des répertoires et exclure certain répertoire Ex:
J'ai un répertoire qui se nomme:
Dans C:\RAPPORT\DADA\UNIX j'ai des fichiers html (je veux garder les 15 derniers jours)C:\RAPPORT\DADA et dans DADA j'ai 5 autres répertoires (environ)
C:\RAPPORT\DADA\UNIX
C:\RAPPORT\DADA\WINDOWS
C:\RAPPORT\DADA\P5
C:\RAPPORT\DADA\ZVM
C:\RAPPORT\DADA\VMWARE
Dans C:\RAPPORT\DADA\WINDOWS j'ai des fichiers html (je veux garder les 15derniers jours)
etc... sauf que
et dans C:\RAPPORT\DADA\VMWARE\RAPPORT1 j'ai des fichiers html (je veux garder les 15 derniers jours)Dans C:\RAPPORT\DADA\VMWARE j'ai 3 autres répertoires
C:\RAPPORT\DADA\VMWARE\RAPPORT1
C:\RAPPORT\DADA\VMWARE\RAPPORT2
C:\RAPPORT\DADA\VMWARE\RAPPORT3
Aussi j'aimerais exclure certain répertoire au besoin (mais pas tout le temps)
Voici un exemple de mon programme mais il ne fait pas tout ce que je viens d'écrire:
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 $P5CUMULJOUR="d:\\p5cumuljour"; $delai=240*60*60; menage("$P5CUMULJOUR"); #------------------------------------------------------------------ # Calcul de date pour faire du menage #------------------------------------------------------------------ sub menage { my ($dir) = shift; # opendir(DIR, $dir) or die erreur ("Impossible ouvrir $dir: $! voir sub menage"); while (defined($file = readdir(DIR))) { if ($file ne "." & $file ne "..") { # # Extraire la date de la derniere modification # ($modheure) = (stat("$dir\\$file"))[9]; $diff = time() - $modheure; if ($diff > $delai) { unlink("$dir\\$file"); } } } close (DIR); }
Partager