Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 2012
-
13 juin 2007 à 11:16
Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 2012
-
13 juin 2007 à 13:57
Bonjour à tous.
Je voudrais savoir comment renommer et le nom et l'extension d'un fichier (de .doc en .rtf).
Sinon si vous connaissez un moyen simple et efficace de les convertir je suis aussi preneur.
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 13 juin 2007 à 11:40
Salut,
Ce petit bout de code (peut-être pas le plus court) permet de retirer l'extension d'un fichier et de la remplacer par une autre (et par la même renommer le fichier) :
Sub Renommer(source As String, nouvelleExtension As String)
Dim titre As String = System.IO.Path.GetFileNameWithoutExtension(source)
Dim chemin As String = System.IO.Path.GetDirectoryName(source)
Dim destination As String = System.IO.Path.Combine(chemin, titre) + "." + nouvelleExtension
System.IO.File.Move(source, destination)
End Sub
A partir de là, un Renommer("c:\dossier\monfichier.doc", "rtf") déplace le fichier "c:\dossier\monfichier.doc" vers "c:\dossier\monfichier.rtf".
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 13 juin 2007 à 11:24
Salut,
Name Source As Destination
mais je ne sais pas si c'est la meilleurs méthode en .NET.
En tout cas cela fonction nickel en VB6.
Pour la conversion... je ne sais pas
Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 20122 13 juin 2007 à 11:58
Bonjour jrivet drikce06, niky
Merci de vos réponse. Elle m'ont guidées. dans la solution de conversion.
niky tu as raison c'est un file.move qu'il faut faire et on peut je pense faire plus court aussi dans le code avec un for each par exemple.
dim NomFichier as string = chemin du dossier à parcourir
For Each NomFichier in Directory.GetFiles (Nomfichier)
NomFichier.move (NomFichier, NomFichier.replace(".doc", ".rtf"))
Next
J'ai vérifié, l'ouverture fonctionne avec Word et le contenu du texte est bien gardé (gras, italique, souligné, couleurs, tabultion, centrée, à droite, ...)
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 13 juin 2007 à 12:56
Mefie toi juste de la fonction Replace. Elle peut avoir des effets de bord gênant :
Si on prend les exemples des fichiers suivants :
c:\Mes.documents\fichier.doc --> c:\Mes.rtfuments\fichier.rtf
c:\dossier\fichier.DOC --> c:\dossier\fichier.DOC (à cause de la casse)
Le résultat peut ne pas toujours être celui souhaité.
Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 20122 13 juin 2007 à 13:57
C'est vrai, tu as raison. Normalement ce cas ne peut pas m'arriver mais dans le dev rien n'est normal donc je vais m'inspirer de ce que tu m'as dit pour m'éviter des désagréments. En tout cas j'espère que cela servira à d'autres.