Renommer un fichier.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 130 fois - Téléchargée 29 fois

Contenu du snippet

Il s'agit d'une petite fonction utilitaire, en C#, qui génère un nouveau nom de fichier. Pour ce faire, elle reçoit en paramètre le nom de fichier à traiter, par exemple : "toto.tata.tutu.doc", et retourne un nouveau nom du genre : "toto.tata.tutu1412200215362215.doc".

Voyons en détail le nom qui a été généré.

toto.tata.tutu1412200215362215.doc ===>

"toto.tata.tutu" = Nom original du fichier
"1412200215362215" = "14/12/2002 15h - 36mn - 22sec - 15centièmes"
".doc" = Extension du fichier.

Bon dev.

Gz.

Source / Exemple :


private string GetString_NewFilename(string strOldFilename)
{
DateTime dtNow = DateTime.Now;
string strExtension = strOldFilename.Substring( strOldFilename.LastIndexOf(".") + 1 );
string strFilename = strOldFilename.Substring( 0, strOldFilename.LastIndexOf(".") );
strFilename += dtNow.Day.ToString() + dtNow.Month.ToString() + dtNow.Year.ToString();
strFilename += dtNow.Hour.ToString() + dtNow.Minute.ToString() + dtNow.Second.ToString();
strFilename += dtNow.Millisecond.ToString() + "." + strExtension;
return strFilename;
}

Conclusion :


Des critiques, des remarques ?

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

Utilises plutôt les méthodes offertes par le framework pour la manipulation des noms de fichiers et des dates :

Ca donne qqch de ce genre :
private string GetString_NewFilename(string strOldFilename)
{
try
{
return string.Format("{0}{1}{2}",
Path.GetFileNameWithoutExtension(strOldFilename),
DateTime.Now.ToString("ddMMyyyyHHmmss"),
Path.GetExtension(strOldFilename)
);
}
catch
{
return strOldFilename;
}
}
Messages postés
5
Date d'inscription
mardi 1 avril 2003
Statut
Membre
Dernière intervention
25 mai 2009

Ok je me réponds tout seul:
La méthode MoveTo de la classe FileInfo:

System.IO.FileInfo fi = new System.IO.FileInfo("ancien_nom");
fi.MoveTo("nouveau_nom");

Ciao!
Messages postés
5
Date d'inscription
mardi 1 avril 2003
Statut
Membre
Dernière intervention
25 mai 2009

Salut,

Pour renommer vraiment le fichier (après avoir générer son nouveau nom par ta méthode GetString_NewFilename) comment faire ?

- Existe t-il une fonction genre rename(string ancien_nom, string nouveau_nom) comme en C++ ?

- Où alors utilise-t-on la technique pas trés rassurante et sale suivante: on copie le fichier dans un nouveau (dont on choisit le nom par ta méthode) et puis on supprime l'ancien...

Merci de votre aide !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.