précédant | suivant | sommaire

cp4chg_ext.pl


#!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;
}
}



précédant | suivant | sommaire