#!perl -w
# remd: fait une copie et change les extentions
aux fichiers désiré dans un reperoire de votre choix. alain
Adelmar.
$x='x='x30;#
pour faire joli
print"Bonjour,
dans quel dossier voulez vous faire des modifications\n";
chomp($resp_dir=<STDIN>);
while(!-e"$resp_dir"){
print"affiner
votre séléction\n";
($rootdir,$reste)=split(/\\$/,$resp_dir);
$resp_dir="$rootdir";
openDIR,"$resp_dir"ordie"Ouverture
du repertoire $resp_dir impossible $!";
@lsdir=readdir(DIR);
closeDIRordie"Fermeture
impossible $!";
printSTDOUT@lsdir;
chomp($resp_dir=<STDIN>);
}
opendirDIR,"$resp_dir"ordie"Ouverture
du repertoire $resp_dir impossible $!";
foreach$file(sortreaddirDIR){
$file="$file\n";
print<STDOUT>,$file;
push@lsdir,$file;
}
# on aurai pu ecrire juste :
@lsdir = readdir(DIR);
closedirDIRordie"Fermeture
impossible $!";
#la PATH du rep est a ajouter au fichier
print"\n$x\nquelle
extentions voulez vous modifier:\n";
chomp($extini=<STDIN>);
while(!&correcte($extini)){
print"veuillez
entrer une extention correcte (3caracteres), expl: txt\n";
chomp($extini=<STDIN>);
}
print"par
quelle extention voulez vous la remplacer?\nnotez que vous aurez a valider
chaque chagement\n";
chomp($extvoulu=<STDIN>);
while(!&correcte($extvoulu)){
print"veuillez
entrer une extention correcte, expl: xxx\n";
chomp($extvoulu=<STDIN>);
}
# attention extention ne contient que 3 caract
et non pas ".xxx" (4)
@contenu=<F>;
foreach$file(@lsdir){
chomp$file;
$fl=$file;
#ajouter le path au filename
if($resp_dir=~/()\\$/){
$fl="$resp_dir"."$fl";
}
else{
$fl="$resp_dir"."\\$fl";
}
nextif($fileeq"\.\n"|"\.\.\n");
# selectionne les fichiers à modifier
if($file=~/()\.($extini)$/i){
($filename,$ext)=split(/\./,$file);
$fileout="$resp_dir"."\\$filename"."\."."$extvoulu";
print"modification
de $file en $fileout : \[O\/N\]\n";
$resp=<STDIN>;
chomp$resp;
if($resp=~/^o|YES|oui|ok/i){
#rename $fl, $fileout;
openF,"$fl"ordie"Ouverture
impossible du fichier $fl $!";
@contenu=<F>;
closeFordie"Saloperie
de fermure de m. $!";
openFO,">$fileout"ordie"Ouverture
du fichier cible $fileout $!";
printFO@contenu;
closeFO||die"Putain
de merde de con de vache pourrie $!";
print"le
fichier $fl a ete modifie en $fileout\n";
}
elsif($resp=~/^n|NON|not|NO|neni|nada/){
print"Bon
on passe pour celui là\n";
next;
}
else{
print"c'est
pourtant pas compliqué de repondre par\noui ou non\tou\no ou n\tou\nYES
ou NO\n";
print"dans
le doute je m'abstient\n";
}
}
}
subcorrecte($ext){
my($ext)=@_;
if($ext=~/^\w{3,4}/){
return1;
}
else{
return0;
}
}