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

Windows Discussion :

[Batch] Remplacement de strings dans des noms de fichier


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Par défaut [Batch] Remplacement de strings dans des noms de fichier
    Bonjour, j'aurai besoin d'un peu d'aide pour un script batch. je veux, que dans le dossier où se trouve mon script, tous occurences d'une chaine particulière soit remplacée par une autre chaîne dans les noms de fichier:
    ex :
    fichier123toto456.bmp --> fichier toto.bmp
    fichier123milou456.bmp --> fichier milou.bmp

    (dans ce cas, la chaîne 123 est remplacée par un espace, et la chaine 456 est remplacée par une chaîne vide).
    J'ai déjà regardé la boucle for pour ce qui est du parcours des fichiers, mais j'avoue que je n'ai pas forcément bien saisi.


    Merci de votre aide

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Voila ton script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /r "%~dp0\" %%i in (*.*) do set VrChm=%%i& set VrFch=%%~nxi& call :suite
    
    :suite
    set VrFch=%VrFch:123= %
    set VrFch=%VrFch:456=%
    
    ren "%VrChm%" "%VrFch%"

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Par défaut
    Merci Kokotis.
    J'ai essayé d'adapté le script pour mes besoins, mais ça ne marche pas tout à fait comme prévu... regardez mon jeu d'essai :
    le script adapté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for /r "%~dp0\" %%i in (*.*) do set VrChm=%%i& set VrFch=%%~nxi& call :suite
    
    :suite
    set VrFch=%VrFch:%20= %
    set VrFch=%VrFch:[1]=%
    
    ren "%VrChm%" "%VrFch%"
    RESULTATS :

    avant :


    après :

  4. #4
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Avec cette methode tu ne peut pas remplacer le caractére %, et pou [] j ne sais pas, je vai essayer autrement

  5. #5
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Ah je n'ai pas d'autre idée, mais ca marche pour [1], mais pas pour %

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Par défaut
    ok merci c'est déjà bien . J'avoue que pour moi, ce script est on ne peut plus flou ^^. j'ai juste repéré les chînes à remplacer.

    Il n'y a donc plus que ce problème de '%'... Est-ce que quelqun d'autre à un idée ?

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

Discussions similaires

  1. [Python 2.X] Remplacer les accents dans plusieurs noms de fichiers
    Par lyko94 dans le forum Général Python
    Réponses: 13
    Dernier message: 04/07/2014, 10h58
  2. [Solaris][KSH] awk : Remplacer un motif dans des noms de fichiers par un autre motif
    Par keketteboy dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 12/10/2012, 16h23
  3. Réponses: 2
    Dernier message: 26/01/2012, 16h43
  4. Réponses: 4
    Dernier message: 29/03/2011, 18h13
  5. [Batch] remplacer une string dans un fichier
    Par yelbied dans le forum Windows
    Réponses: 5
    Dernier message: 12/07/2007, 11h36

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