Incrementation nom fichier perl

Fermé
aure - 27 déc. 2001 à 17:03
 currentbox - 7 mars 2009 à 23:59
bonjour ,
je voudrai pouvoir renommer des fichiers (portant toujours le meme nom et j'en ai enormément) automatiquement incrementés dans un repertoire "traiter"
ou avec un nouveau nom que l'utilisateur peut donner

ex : fichier en \traiter\fichier1
fichier en \traiter\fichier2 (incrementation auto car fichier1 existe)

ou

"entre un nouveau nom :"
fichier en \traiter\abc
fichier en \traiter\bobo (nom donné par l'utilisateur)

voici le script que j'ai ecrit mais ca marche pas !:


rename("fichier", "traiter/fichier*.old");
ou
print"entrer un nouveau nom:";
chop $new=<stdin>;
rename("fichier", "traiter/"$new);
A voir également:

2 réponses

jphilippe Messages postés 78 Date d'inscription dimanche 7 octobre 2001 Statut Membre Dernière intervention 31 janvier 2002 6
27 déc. 2001 à 18:06
Je n'ai pas vraiment compris ton besoin:

En entrée, tu as un répertoire plein de fichiers différenciés par un incrément en postfixe ?
Tu veux renommer quoi ? l'ensemble des fichiers présent ? un seul fichier ?

et finalement sur quel os travailles tu ?
Après je bosse pour toi

Jean-Philippe
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
27 déc. 2001 à 21:26
Salut aure,
je te conseille de regarder du coté de l'incrémentation des chaines de caractères :

my $chaine = "abc";
$chaine++;
echo $chaine; # affichera "abd";

Donc si tu as "abc1", ça devra donner "abc2" et ainsi de suite...
regarde quand même ce qui se passe après "abc9"... Je pense que ça donnera "abd0" ?! Pour cela il faudrait commencer par un nom "abc01" voir "abc001" pour plus de 100 fichiers.
N'hesite pas a me contacter.

-= Bobinours =-
0
Bjr,
voila ce ke je veux faire,
je veux demander au utilisateur d'entrer un nom de fichier par exemple"test.doc",
et pouvoir crée ce fichier automatiquement ensuite.
j'ai tout essayer mais je ne trouve pas de solution pour donner le nom de fichier comme variable lors de la creation de fichier.
aidez moi svp c urgent
0