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 une arborescence en batch [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 16
    Points
    16
    Par défaut Renommer une arborescence en batch
    Bonjour,

    J'aimerai savoir s'il est possible de renommer des répertoires dans une arborescence en traitement par un batch? Je souhaite supprimer les espaces, caractères spéciaux....

    Mon script renomme bien les répertoires de premier niveau, mais quand il arrive à un sous répertoire, le répertoire père ayant été renommé, j'ai un message d'erreur "me disant qu'il ne trouve pas le répertoire spécifié"

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @echo off
    setlocal enabledelayedexpansion
    chcp 1252 >nul
     
    rem renommer que les dossiers
    for /f "usebackq tokens=*" %%a in (`dir "C:\temp\test" /ad/b/s`) do (
     
    	echo %%a
     
    	set "nom=%%~nxa"
    	set "nom=!nom: =_!"
    	set "nom=!nom:-=_!"
    	set "nom=!nom:é=e!"
    	set "nom=!nom:è=e!"
    	set "nom=!nom:+=_!"
    	set "nom=!nom:,=_!"
    	set "nom=!nom:(=!"
    	set "nom=!nom:)=!"
    	set "nom=!nom:à=a!"
     
    	move /y "%%~a" "%%~dpa!nom!"
    )
    echo dossiers renommes
    echo:
    pause

    J'ai mis une pièce jointe sur la situation d'origine et celle vers laquelle j'aimerais aller, avec entre les 2 l'erreur issue du script.

    je ne sais pas si quelqu'un a déjà eu ce genre de script à produire.

    merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Bonjour,

    J'ai déjà eu ce problème, récemment, et je m'en suis sorti en inversant l'ordre de traitement pour commencer par les sous-dossiers les plus profondéments enfouis :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "usebackq tokens=*" %%a in (`dir "C:\temp\test" /ad/b/s ^| sort /r`) do (

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je pense que c'est une bonne idée celle proposée par barnabe0057

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    En effet, c'est parfait, ça fonctionne bien. Merci pour ton aide et la confirmation d'Eric.

    Bonne continuation sur l'aide que vous pouvez apporter, je vois souvent revenir vos identifiants.

    @++

    ro²

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

Discussions similaires

  1. [Batch] Batch pour compresser séparement les dossiers d'une arborescence
    Par nc13160 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/09/2014, 14h25
  2. [Batch] une arborescence disque detaillée via un script BATCH
    Par Jessyjames75 dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 16/01/2013, 12h21
  3. [BATCH]script pour encoder des fichiers dans une arborescence
    Par ashgan44 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 11/05/2009, 15h04
  4. Réponses: 1
    Dernier message: 09/12/2008, 12h23
  5. [batch file] detruire des fichiers dans une arborescence
    Par Biosox dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 03/06/2008, 10h10

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