Renommer des fichiers

Signaler
Messages postés
76
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
12 août 2009
-
cs_petitou
Messages postés
18
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2005
-
Salut a tous
Je voulais faire un petit prog pour renommer des fichiers et je me suis apercu que ce n'etait pas si facile que ca.
je voulais savoir si il avait une fonction native c# qui permetait de le faire.
Lorsque j'utilise ma methode, Je suis obligé extraire le nom du fichier voila le code
-----------------------------------------------------

private void button1_Click(object sender, System.EventArgs e)
{
int i;
int z = Directory.GetFiles(label2.Text).Length ; //Nbr de fichiers dans le repertoire
for (i = 1; i <= z; i++)
{
string toitem = Directory.GetFiles(label2.Text).GetValue(i-1).ToString(); //nom du fichier dans le repertoire et revoi le nom et le chemin complet d'ou le probleme
int namepos = Directory.GetFiles(label2.Text).GetValue(i-1).ToString().LastIndexOf(@"")+1;//position du debut du nom du fichier present dans le repertoire
string newsname = Directory.GetFiles(label2.Text).GetValue(i-1).ToString().Insert(namepos,"New");//on insert le string "new" devant le nom du fichier
Directory.Move(toitem,newsname);//on renomme
listBox1.Items.Add (newsname);//on ajout le nouveau nom dans une listbox
listBox1.SetSelected(i-1,true);//Ben je sais pas pourquoi j'ai mis ca
}
listBox1.Items.Add("Fin");//Bidule qui sert a rien

}

Au fait desolé si j'ai pas posté dans la bonne categorie
Merci

3 réponses

Messages postés
18
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2005

Si j'ai bien compris le problème, tu veux seulement le nom du fichier à l'intérieur du répertoire et pas le nom complet. Si c'est ça, ce code est le bon :

//liste des noms de tes fichiers
ArrayList list = new ArrayList();
//TBDirectory : text box contenant le chemin du repertoire
DirectoryInfo dir = new DirectoryInfo(TBDirectory.Text);
//On recupere tous les fichiers
FileInfo[] file_array = dir.GetFiles();
// file_array contient une liste de FileInfo, la propriété Name te //donne le nom du fichier seul.
foreach (FileInfo fiTemp in file_array)
{
//On ajoute a l'ArrayList le nom (tout seul) du fichier
list.Add(fiTemp.Name);
}
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
pensez a utiliser notre amie la balise CODE (cf barre d'outils en bas de la zone de saisie)
elle s'ennuie la pauvre ^^

Cocoricoooooooo !!!!
Messages postés
18
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2005

dsl, je savais pas...

//liste des noms de tes fichiers
ArrayList list = new ArrayList();
//TBDirectory : text box contenant le chemin du repertoire
DirectoryInfo dir = new DirectoryInfo(TBDirectory.Text);
//On recupere tous les fichiers
FileInfo[] file_array = dir.GetFiles();
// file_array contient une liste de FileInfo, la propriété Name te //donne le nom du fichier seul.
foreach (FileInfo fiTemp in file_array)
{
//On ajoute a l'ArrayList le nom (tout seul) du fichier
list.Add(fiTemp.Name);
}