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 tous les sous-dossiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut Renommer tous les sous-dossiers
    Bonjour,

    j'ai un petit problème lors de l'execution des mes batchs :
    En effet, je souhaite qu'ils suppriment les 7 premiers caractères de tous les noms de fichiers dans tous les sous-dossiers du repertoire courant, or cela fonctionne uniquement si les fichiers sont dans le repertoire courant voici mes 2 codes :

    RenommerTout.bat :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off  
    for %%X in (*.txt) do RenommerUnSeul.bat %%X

    RenommerUnSeul.bat :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off  
     
    set NomLong=%~nx1 
    set Debut=%NomLong:~7,1% 
     
    if not "%Debut%"=="_ " goto Suivant  
     
    set NomCourt=%NomLong:~7% 
    rename %NomLong% %NomCourt%  
     
    :Suivant

    En rajoutant le paramètre /r (après le for) dans RenommerTout.bat, cela ne fonctionne pas non plus, une idée ?
    Merci d'avance.

  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,

    Pense au Balise CODE !

    Voici une solution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ::SachaDee 2014
    @echo off
    setlocal enabledelayedexpansion
    for /r %%a in (*.txt) do (
     set "$name=%%~na"
     set "$name=!$name:~7!"
     echo ren "%%a" "!$Name!%%~xa")
     
    echo termin‚

    J'ai mis un ECHO devant le REN pour que tu puisses tester. Si la sortie est OK
    enlève l'echo et enjoy !


  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut
    Cela prend bien en compte les sous dossiers, cependant, dans le premier fichier de chaque sous-dossier, cela me laisse uniquement que .txt (je pense que cela supprime 2 foisles caractères du premier fichier de chaque sous dossier).

    Dans mon code, j'avais mis en place un test qui evitait plusieurs suppression de caractères dans le meme fichier :
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set Debut=%NomLong:~7,1% 
     
    if not "%Debut%"=="_ " goto Suivant
    Je n'arrive pas à le mettre en place avec le tiens, peux-tu m'eclairer sur la syntaxe de ton code que je puisse metttre en place le test ?

  4. #4
    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
    As-tu également des fichiers de 7 carctères (ou moins) dans tes répertoires ?
    Des fichiers qui ne doivent pas être renommés.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 51
    Par défaut
    Non, tous mes fichiers sont formatés de la même manière :

    XXXXXX_AAAAAA.txt

    L'objectif étant de supprimer les 7 premiers caractères (XXXXXX_) pour ne laisser que AAAAAA.txt dans tous les sous-dossiers.

  6. #6
    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
    J'ai beau tester, je n'arrive pas a recréer ton erreur :

    As-tu testé mon code tel-quel ou as-tu un autre code dans ton bat :


    Essaye de mettre un Pause :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ::SachaDee 2014
    @echo off
    setlocal enabledelayedexpansion
    for /r %%a in (*.txt) do (
     set "$name=%%~na"
     set "$name=!$name:~7!"
     echo ren "%%a" "!$Name!%%~xa"
     pause)
     
    echo termin‚

    Et regarde fichier par fichier où se trouve le problème


Discussions similaires

  1. Lister tous les sous-dossiers d'un répertoire
    Par Invité dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 16/06/2011, 04h34
  2. Réponses: 3
    Dernier message: 22/01/2011, 15h31
  3. [XL-2000] recherche dans tous les sous-dossiers
    Par zandru dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2010, 10h32
  4. Réponses: 3
    Dernier message: 29/07/2009, 15h16
  5. Liste de fichiers dans tous les sous dossiers
    Par TaleMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/12/2008, 18h29

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