IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer des noms de fichiers [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut Renommer des noms de fichiers
    Bonjour,

    je souhaiterais créer un fichier .bat qui lors de son exécution renomme tous les fichiers contenus dans un dossier spécifié, en faisant correspondre à un caractère un autre caractère.

    Par exemple, remplacer le n par t, le a par x, le m par j, le e par a... donc si le fichier s'appelle name.jpg le nom du nouveau fichier sera par txja.jpg.

    Je pense qu'un tel code est possible mais je ne m'y connais absolument pas en codage de .bat.

    Pourriez-vous m'aider?

    Merci.

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    @echo off
    
    setlocal enabledelayedexpansion enableextensions
    
    for /f "delims=" %%a in ('dir *.* /aa /b') do (set $f=%%~na
                                                  echo TRAITEMENT DE !$f!
                                                  set $f=!$f:n=t!&echo !$f!
                                                  set $f=!$f:x=m!&echo !$f!
                                                  set $f=!$f:e=a!&echo !$f!
                                                  ECHO LE NOUVEAU FICHIER CE NOMMERA !$f!
                                                  pause)
    Je n'ai pas faite le "RENAME" a toi de l'inclure.

    Amicalement

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Merci.

    Je vais voir si je peux me débrouiller avec le code que tu m'as donné et le rename. Je repasserai en cas de souci.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Comme je le prévoyais je ne m'en sors pas.
    J'ai tenté d'ajouter l'instruction pour renommer le fichier mais sans succès. La fenêtre de commande m'affiche constamment un message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    
    setlocal enabledelayedexpansion enableextensions
    
    for /f "delims=" %%a in ('dir C:\Users\Micro\Pictures /aa /b') do (set $f=%%~na
                                                  echo TRAITEMENT DE !$f!
                                                  set $f=!$f:n=t!&echo !$f!
                                                  set $f=!$f:x=m!&echo !$f!
                                                  set $f=!$f:e=a!&echo !$f!
                                                  ECHO LE NOUVEAU FICHIER CE NOMMERA !$f!
                                                  ren "C:\Users\Micro\Pictures\%%a" "%$f%"
                                                  pause)

    De plus je ne vois pas comment conserver l'extension du fichier et j'aimerais que le .bat s'execute pour tous les fichiers qui appartiennent au même dossier que celui-ci. Comment puis-je résoudre le problème?

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    salut,

    interesse toi à la dernière partie de la documentation de la commande
    "FOR /?".

    pour ton code voici la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
     
    
    setlocal enabledelayedexpansion enableextensions
    
    for /f "delims=" %%a in ('dir *.* /aa /b') do (set $f=%%~na
                                                  echo TRAITEMENT DE !$f!
                                                  set $f=!$f:n=t!&echo !$f!
                                                  set $f=!$f:x=m!&echo !$f!
                                                  set $f=!$f:e=a!&echo !$f!
                                                  ECHO LE NOUVEAU FICHIER CE NOMMERA !$f!
                                                  ECHO "%%~Fa" "%%~dpa!$f!%%~xa"
                                                  pause)

    remplace le dernier "ECHO" par "REN".

    Amicalement

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Merci encore pour ton aide.

    J'ai jeté un coup d’œil à l'aide (je pense que tu parlais de celle qu 'on obtient avec "help for" dans l'invite de commande) mais tout ça est un peu compliqué pour moi.

    En ce qui concerne ton nouveau code je l'ai testé en remplaçant comme tu me l'as dit le dernier "ECHO" par "REN" mais j'ai le message d'erreur: "La syntaxe de la commande n'est pas correcte".

    Je vais tenter de creuser du coté de l'utilisation de la commande "REN".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une liste avec des noms de fichiers
    Par Jeffboj dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 05h48
  2. Récupérer des noms de fichiers dans une table ?
    Par florus dans le forum Access
    Réponses: 5
    Dernier message: 25/03/2006, 17h34
  3. Supprimer les espaces des noms de fichier
    Par Cathy dans le forum Linux
    Réponses: 20
    Dernier message: 04/08/2005, 17h13
  4. récupérer des nom de fichiers en utilisant *.ext
    Par drinkmilk dans le forum ASP
    Réponses: 11
    Dernier message: 15/12/2004, 09h21
  5. Réponses: 4
    Dernier message: 10/10/2003, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo