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 :

Aide pour renommer fichiers avec .bat


Sujet :

Windows

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Aide pour renommer fichiers avec .bat
    Bonjour a tous,

    J'ai un souci gênant. Il me faut renommer 200 fichiers du type AAimportant.jpg en BBBBimportant.jpg

    J'ai aucun droit sur la machine donc les softs déja faits ... c'est raté.

    J'ai essayé avec REN.
    REN AA* BBBB*
    mais AA n'etant pas de meme longueur que BBBB REN écrase des caractères:
    AAimportant deviens BBBBportant

    AA et BBBB sont des chaines fixes. Un seul répertoire .. bref c'est facile, juste renommer une partie des fichiers. (Comme un query replace quoi)

    Ma seule solution reste donc le .bat mais je n'y arrive pas.
    Une âme charitable pourrait elle me dépanner?

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Une boucle for sur ton ensemble de fichier AAImportant.jpg
    Tu fais dans le corps du for :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set origin = %%a
    ren %%a !origin:AA=BBBB!
    Cela suppose que AA n'aparait pas dans Important.jpg.
    Il faut de plus activer les expansions retardées de variables avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocal ENABLEDELAYEDEXPANSION

    En théorie ça marche, en pratique faudra pe affiner.

    Edit> J'ai modifié un peu, il y avait un truc qui je pense n'allait pas ds la premiere version.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bon alors doit y avoir un truc que je comprend pas.

    Ca fonctionne pas. Quand j elance le .bat j'ai ma fenetre msdos qui apparait et disparait de suite. Mais rien ne change.

    Info: J'ai copié collé dans un .txt et renommé en .bat.

    A mon souvenir pas besoin de compiler ces machins la.
    J'ai tenté une autre solution:
    for %i in (AA*) do ren %i XX%i
    ren XXAA* BBBB*

    Dans ma commande 'cmd' ca passe niquel.
    Copié collé dans un txt ca ne fais rien.

    J'ai mis des pause de partout et ca plante au niveau de la boucle for.
    Je sait pas d'ou ca peut venir.

    J'ai pu renommer mes fichiers car je l'ai lancé dans la fenetre dos mais comme je risque d'en avoir encore besoin ce serait top si je pouvais finaliser ce .bat.

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for %%i in (AA*) do ren %%i XX%%i
    ren XXAA* BBBB*

    %% et non %.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  5. #5
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Sinon ça c'est testé et ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    setlocal enableExtensions
    
    For /F %%a in (ensemble fichier) do (
      call :renn %%a
    )
    
    :renn
    set origin=%1
    ren %origin% %origin:AA=BBBB%
    Edit> La variante dont je parlait plus haut avec les expansions retardées de variables fonctionne aussi, ça evite le call.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bon faut que je m'achète un cerveau alors ...

    Jte remercie de ton coup de main et ja vais essayer de faire tourner ca.

    Si je peux me permettre une ou deux questions encore.
    1. Est ce vrai que je n'ai pas besoin de compiler? (perso je compiles pas car je peux pas installer de compilo de toutes manières)

    2.Vla mon adaptation finale
    ########### Fichier ############
    @echo off
    setlocal enableExtensions

    For /F %%a in (print*) do (
    call :renn %%a
    )

    :renn
    set origin=%1
    ren %origin% %origin:print=thumbnail%

    #############################
    Y'a de la boulette dedans?


    Jme sens si mauvais que j'ai honte de vous derranger ^^
    A mon avis faut pas chercher le gros bug. Ca doit etre un truc ridicule.
    C'est surement mon premier ou deuxieme bat de ma life ...

  7. #7
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    N'oublie pas les balises code, ça sera plus lisible.


    1. Oui pas besoin de compiler.

    2. Chez moi le in (print*) il aime pas trop. J'avais utilisé un for sur un dir pour faire tourner mon test.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For /F "usebackq" %%a in (`dir print* /b`) do ...
    Les quotes c'est le Alt Gr+7.
    Avec ça, ça fonctionnait, j'avais juste une erreur sur la dernière execution du for car la commande renvoie une ligne vide à la fin de la liste des fichiers. Pas très propre mais pas génant. Je te laisse pauffiner si tu veux eviter cette erreur.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Aide pour découpage fichier avec awk
    Par Invité dans le forum Unix
    Réponses: 8
    Dernier message: 22/04/2011, 14h51
  2. Renommer fichiers avec .bat
    Par ash_rmy dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 02/03/2009, 10h53
  3. Réponses: 16
    Dernier message: 01/02/2007, 16h04
  4. Aide pour un warning avec RegSetValueEx
    Par Pierre.g dans le forum Windows
    Réponses: 4
    Dernier message: 24/08/2006, 14h46
  5. [PHP-JS] besoin d'aide pour menu déroulant avec lien
    Par Damarus dans le forum Langage
    Réponses: 3
    Dernier message: 06/10/2005, 18h43

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