précédant | sommaire

Rep2html.pl



ce script vous permet de créer une page .html dynamique contenant tout les fichiers d'un répértoire voulu, sous forme de liens dynamique. De plus il créé aussi un fichier rep.dat.
Trés pratique .
(version pour Linux ici)
(version pour Windows là)
  alain Adelmar a.adelmar@wanadoo.fr


ci-dessous la version pour Linux (noir et blanc)#!/usr/bin/perl -w
# liste le contenu des repertoires désiré dans un fichier rep.html.
# pour Linux ou UNIX-like _ alain Adelmar
$x ="*-" x 25;
$al = "\t=== A_l_a_i_n -\/\/- A_d_e_l_m_a_r ===      |";
print "$x\n$al\n\n$x\n\n";
print "Indiquez le dossier a traiter:\n";
chomp($d = <STDIN>);

opendir R, "$d" or die "Ouverture repertoire impossible $!";
   print "$x\n$al\n$x\n";
   foreach $file(sort readdir R){
      $file = "$file\n";
      print $file;
      push @repertoire, $file;
   }
closedir R or die "Fermeture du repertoire impossible $!";

if ($d =~/\w\/$/){
   $fout = "$d" . "rep.html";
   }
elsif ($d =~ /\.|\.\//) {
  $fout = "rep" . "\.html";
  while (-e $fout) {
    $fout = "rep_" . "$i\.html";
    $i++;
  }
}
else {
   $fout = "$d" . "\/rep.html";
   }

open F, ">$fout" or die "Ouverture du fichier rep impossible $!";
   print F "<HTML\>\n\t<head\>\n\t\t<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=iso-8859-1\"\>\n\t\t<meta name=\"author\" content=\"adelmar alain et Perl\"\>\n\t<\/head\>\n<body\><br>\n";
   print F "Edité automatiquement par le script rep\.pl le: " .localtime(time) . "\nn\'efféctuez pas de modifications (SVP)\.\n<hr\>\n";
   foreach $ft(@repertoire) {
      chomp $ft;
      print F "\t<p\><a href=\"$ft\"\>$ft<\/a\><br\>\n";
      }
close F or die "Fermeture impossible bordel $!";

print "\n\nUn fichier $fout a été créé\nBonne journée\nalain\n";

END;



Et ci-dessous la version pour Windows (couleurs)

#!perl -w
#LX !/usr/bin/perl -w
# remd: liste le contenu des repertoires désiré dans un fichier rep.html et un rep.dat.
# Made for Windowsxx _ by _ alain Adelmar aadelmar@free.fr
# Pour Unix-like uncomment #LX lignes and put in comment line befor
$i = $j =0;
$x ="*-" x 25;
$al = "\t=== A_l_a_i_n -\/\/- A_d_e_l_m_a_r ===      |";
print "$x\n$al\n\n$x\n\n";
print "Indiquez le dossier a traiter:\n";
chomp($d = <STDIN>);

opendir R, "$d" or die "Ouverture repertoire impossible $!";
   print "$x\n$al\n$x\n";
   foreach $file(sort readdir R){
      $file = "$file\n";
      print $file;
      push @repertoire, $file;
   }        
closedir R or die "Fermeture du repertoire impossible $!";

if ($d =~/\w\\$/) {
#LX if ($d =~/\w\/$/) {
   $fout = "$d" . "rep.html";
   $fout_dat = "$d" . "rep.dat";
   }
else {
  $fout = "rep" . "\.html";
  $fout_dat = "rep" . "\.dat";
  while (-e $fout) {
    $fout = "rep_" . "$i\.html";
    $i++;
      }
   while (-e $fout_dat) {
      $fout_dat = "rep_" . "$j\.dat";
      $j++;
      }
   }                


open F, ">$fout" or die "Ouverture du fichier rep impossible $!";
   print F "<HTML\>\n\t<head\>\n\t\t<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=iso-8859-1\"\>\n\t\t<meta name=\"author\" content=\"adelmar alain et Perl\"\>\n\t<\/head\>\n<body\><br>\n";
   print F "Edité automatiquement par le script rep\.pl le: " .localtime(time) . "\nn\'efféctuez pas de modifications (SVP)\.\n<hr\>\n";
   open FDAT, ">$fout_dat" or die "Screugneugneu $fout_dat ne veux pas souvrir $!";
   print FDAT "Edité automatiquement par le script rep\.pl le: " .localtime(time) . "\nn\'efféctuez pas de modifications (SVP)\.\n";
   foreach $ft(@repertoire) {
      chomp $ft;
      print F "\t<p\><a href=\"$ft\"\>$ft<\/a\><br\>\n";
      print FDAT "$ft\n";
      # damned avec remd: je pourrai carrement afficher le commentaire à coté du liens (but no alias sur Windows)
      }
   close FDAT || die "Fartoi encoula granda connasse, 30000 fois saloperie ce ptain de $fout_dat ne veut pas ce fermer $!";
close F or die "Fermeture impossible bordel $!";

print "\n\nUn fichier $fout a été créé ainsi qu'un fichier $fout_dat\nBonne journée\nalain\n";

END;

retour en au de page


précédant | sommaire