VB.Net Renommer Fichiers [Résolu]

Messages postés
532
Date d'inscription
lundi 5 juin 2006
Dernière intervention
6 octobre 2012
- - Dernière réponse : cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 18 août 2010 à 21:15
Salut


Je veux me créer un petit prog pour renommer plus de 700 fichiers
Je veux ajouter le texte (Photo) pour chauqe fichier
Exemple
J'ai des fichier qui se nomme 220508.jpg
Je veux qu'il se nomme Photo220508.jpg


Première question: Qu'est ce que je prends comme fonction pour renommer. J'ai regarder la fonction File mais je ne trouve rien.
Deuxième question: Comment je fait pour qu'il modifie l'ensemble des fichier du répertoire. Bref qu'il, ajoute le mot Photo
à tous les fichier du répertoire ???


merci de votre aide


File.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
329
Date d'inscription
jeudi 20 novembre 2003
Dernière intervention
10 mai 2014
3
Merci
Salut,

   Regarde du côte de my.Computer.FileSystem.RenameFile (fichiersource, fichierdestination) pour renommer un fichier

   Après pour récupérer tous les fichiers d'un répertoire c'est 
   Dim s() AsString = IO.Directory.GetFiles("C:")

   Tu récupère un  tableau dans lequel tu as tous tes fichiers, tu tournes en boucle et tu les renomme.

@+
LIM

Merci cs_lim 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_lim
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Dernière intervention
23 mars 2011
1
Merci
Salut,

Voici deux exemples de code possible :

Le premier exclus les sous-dossiers :

For Each files As String In My.Computer.FileSystem.GetFiles("C:\Temp", FileIO.SearchOption.SearchTopLevelOnly)
    ' FileIO.SearchOption.SearchTopLevelOnly cherche uniquement dans ce dossier en excluant les sous-dossiers
     Dim Fi As New System.IO.FileInfo(files) ' Instanciation du fichier trouvé
     My.Computer.FileSystem.RenameFile(files, "photo" + Fi.Name) ' Renomme le fichier
    ' files contient le chemin d'accès du fichier à renommer
    ' Fi.Name contient le nom du fichier (par exemple, C:\test.jpeg >>> Fi.Name retourne test.jpeg)
Next

Le deuxième inclus les sous-dossiers

For Each files As String In My.Computer.FileSystem.GetFiles("C:\Temp", FileIO.SearchOption.SearchAllSubDirectories)

    ' FileIO.SearchOption.SearchTopLevelOnly cherche dans ce dossier en incluant les sous-dossiers

     Dim Fi As New System.IO.FileInfo(files) ' Instanciation du fichier trouvé

     My.Computer.FileSystem.RenameFile(files, "photo" + Fi.Name) ' Renomme le fichier

    ' files contient le chemin d'accès du fichier à renommer

    ' Fi.Name contient le nom du fichier (par exemple, C:\test.jpeg >>> Fi.Name retourne test.jpeg)
Next

++
----------------------------------
Si la réponse vous convient : Réponse Acceptée
Commenter la réponse de cs_fauve
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Dernière intervention
23 mars 2011
0
Merci
Si tu as quelque chose que tu comprends pas, n'hésite pas
Commenter la réponse de cs_fauve
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Dernière intervention
7 janvier 2009
0
Merci
Salut,

En fait je viens de mettre ce code dans un autre post:

       ' Trouver toutes les images JPG du dossier:
        Dim files() As String = IO.Directory.GetFiles("C:", "*.jpg", IO.SearchOption.TopDirectoryOnly)
       ' Parcourir chaque fichier
        For Each file As String In files
            ' Le nom du dossier
            Dim dossier As String = IO.Path.GetDirectoryName(file)
            ' Le nom du fichier
            Dim fichier As String = IO.Path.GetFileName(file)
            ' Le nouveau nom = dossier + "photo " + fichier
            Dim nouveauNom As String = IO.Path.Combine(dossier, "photo " & fichier)
            ' renommer le fichier
            IO.File.Move(file, nouveauNom)
        Next

Tu peux changer IO.SearchOption.TopDirectoryOnly en IO.SearchOption.AllDirectories pour inclure les sous-dossiers.
Commenter la réponse de Kevin.Ory
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Dernière intervention
16 mars 2011
0
Merci
Salut les gars

Je vous remercie pour l'aide que vous avez apportez à magdix et qui m'a beaucoup instruit.

En faite, j'ai besoin de faire ceci:

Scanner tout un répertoire en fonction de l'extension du ficher et en incluant les sous-dossier. Tous les fichiers trouvés seront renommés par le même nom que le dossier dans lequel ils sont.
Ex: je renomme C:\nomdossier\nomfichier en C:\nomdossier\nomdossier

Votre code permet de faire la 1er phrase. Pour la seconde phrase qui est de renommer le fichier alors là j'ai passé 2h à manier et remanier votre code sans succès.

Le truc qui est vraiment dur c'est de trouver le nom du dossier sans récupérer tout d'un coup le chemin du fichier...

Merci par avance et bon dev


Ma LV2 c'est le Visual Basic, et toi ?
Commenter la réponse de cs_aus3004
Messages postés
5599
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Bonjour,
J'ai fait un programme dernièrement où il fallait que je n'ai que le nom du fichier sans son extension, je pense que cela pourra te convenir
Imports System.IO
Imports System.IO.Path
 Dim sNewFile As String
'chemin fichier 
        sNewFile = Form1.Lblcible.Text & "" 'chemin du dossier
        sNewFile &= GetFileNameWithoutExtension(Form1.FileListBox1.SelectedItem.ToString) 'nom fichier sans extension
        sNewFile &= ".tif" 'extension


Je te le donne brut, il faut chercher avec un msgBox pour voir ce qu'il sort.
Bon courage!!!
@+
Le Pivert
Commenter la réponse de cs_Le Pivert
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Dernière intervention
16 mars 2011
0
Merci
Ouai merci encore Le Pivert ! De plus, c'est à partir de l'une de tes sources que je me suis dis "Allez bon ! J'vais tenter l'coup !".

Ton code reprend la 1er phrase de mon dicton mais de manière plus "séparée" donc je vais utiliser ton début.

Pour la seconde partie qui est de renommer le fichier par le même nom du dossier dans lequel il se trouve, t'aurais pas un idée du style : récupérer le chemin du fichier C:\dossier\fchier et de séléctionner juste le \dossier\ pour l'affecter au nom du fichier... ?





Ma LV2 c'est le Visual Basic, et toi ?
Commenter la réponse de cs_aus3004
Messages postés
5599
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Si le chemin de ton dossier est dans un TextBox, pourquoi ne poserais-tu pas cette question sur le forum:
Trouvez le dernier mot saisi dans un TextBox?
Je pense qu'il doit exister un code pour cela
Commenter la réponse de cs_Le Pivert
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
-1
Merci
Bonjour je crois avoir fais un programme qui réponds à tes question... envois moi un courriel en pv et je t'enverrai ma source...

Je prend mon dossier sources
C:\images et prends tous les dossier du répertoires et je renomme l'enssemble des fichiers par rapport au nom du répertoire...


J'attends ton courriel...

Je t'envois ca des que j'ai le temps...

A+
Commenter la réponse de cs_JeffC1977

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.