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 :

Modification nom dossier de Majuscule en Minuscule [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut Modification nom dossier de Majuscule en Minuscule
    Bonjour,

    J'aimerai modifier des noms de dossiers (nom de commune) de majuscule en minuscule en gardant la première lettre en majuscule de chaque mot.

    Ex: MONT en Mont
    LIT ET MIX en Lit Et Mix

    J'ai réussi a trouver ce code (qui n'est pas optimal je pense) qui me transforme tout en minuscule...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    for /f "delims=" %%i in ('dir /a:d /b') do set VrNamRep=%%i& call :majMin 
    goto finmajMin 
     
    :majMin 
    set VrNamRep2=%VrNamRep:A=a%
    set VrNamRep3=%VrNamRep2:B=b%
    set VrNamRep4=%VrNamRep3:C=c%
    set VrNamRep5=%VrNamRep4:D=d%
    set VrNamRep6=%VrNamRep5:E=e%
    set VrNamRep7=%VrNamRep6:F=f%
    set VrNamRep8=%VrNamRep7:G=g%
    set VrNamRep9=%VrNamRep8:H=h%
    set VrNamRep10=%VrNamRep9:I=i%
    set VrNamRep11=%VrNamRep10:J=j%
    set VrNamRep12=%VrNamRep11:K=k%
    set VrNamRep13=%VrNamRep12:L=l%
    set VrNamRep14=%VrNamRep13:M=m%
    set VrNamRep15=%VrNamRep14:N=n%
    set VrNamRep16=%VrNamRep15:O=o%
    set VrNamRep17=%VrNamRep16:P=p%
    set VrNamRep18=%VrNamRep17:Q=q%
    set VrNamRep19=%VrNamRep18:R=r%
    set VrNamRep20=%VrNamRep19:S=s%
    set VrNamRep21=%VrNamRep20:T=t%
    set VrNamRep22=%VrNamRep21:U=u%
    set VrNamRep23=%VrNamRep22:V=v%
    set VrNamRep24=%VrNamRep23:W=w%
    set VrNamRep25=%VrNamRep24:X=x%
    set VrNamRep26=%VrNamRep25:Y=y%
    set VrNamRep27=%VrNamRep26:Z=z%
     
    ren "%VrNamRep%" "%VrNamRep27%"
     
    goto :eof
     
    :finmajMin

    Je recherche donc à savoir ce que je dois modifier pour avoir la lettre de chaque mot en majuscule.

    Je vous remercie par avance

    Jujudeo

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut UP1Letter.bat

    Voici une solution en passant par un vbscript : UP1Letter.bat
    Code BAT : 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
    @echo off
    Title Modification nom dossier de Majuscule en Minuscule
    SetLocal EnableDelayedExpansion
    for /f "delims=" %%i in ('dir /a:d /b') do set "VrNamRep=%%i" & Call :Maj_Letter "!VrNamRep!"
    pause
    Exit
    ::------------------------------------------------------------------
    :Maj_Letter
    (
        echo wscript.echo UpFirstLetter("%~1"^)
        echo Function UpFirstLetter(str^)
        echo    str = Ucase(Left(str,1^)^) ^& LCase(Right(str,Len(str^)-1^)^)
        echo    UpFirstLetter = str
        echo End Function
    )>"%tmp%\%~n0.vbs"
    cscript //nologo "%tmp%\%~n0.vbs" "%~1" 
    If Exist "%tmp%\%~n0.vbs" Del "%tmp%\%~n0.vbs"
    Exit /B
    ::------------------------------------------------------------------

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 : 549
    Par défaut
    Bonjour,

    Voilà une solution en batch pur :

    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
    26
    27
    28
    29
    @echo off
    setlocal enableextensions enabledelayedexpansion
    chcp 28591 >nul
     
    for /f "delims=" %%i in ('dir /ad /b') do call :majMin "%%~dpni"
     
    echo. & pause
    exit 
     
     
    :majMin
     
    set VrNamRep=%~n1
    set chaine=!VrNamRep:~1!
     
    for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
     
    	for %%B in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
     
    		if /i "%%A"=="%%B" (set chaine=!chaine:%%A=%%B!)
     
    	)
    )
     
    echo. & echo.###!VrNamRep!
     
    ren %1 "!VrNamRep:~0,1!!chaine!"
     
    goto :eof

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    en gardant la première lettre en majuscule de chaque mot
    Avez vous bien intégré cette demande (en gras) exprimée dans le besoin initiale ?
    Il ne me semble pas.

  5. #5
    Membre confirmé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Bonjour,

    Voilà une solution en batch pur :

    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
    26
    27
    28
    29
    @echo off
    setlocal enableextensions enabledelayedexpansion
    chcp 28591 >nul
     
    for /f "delims=" %%i in ('dir /ad /b') do call :majMin "%%~dpni"
     
    echo. & pause
    exit 
     
     
    :majMin
     
    set VrNamRep=%~n1
    set chaine=!VrNamRep:~1!
     
    for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
     
    	for %%B in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
     
    		if /i "%%A"=="%%B" (set chaine=!chaine:%%A=%%B!)
     
    	)
    )
     
    echo. & echo.###!VrNamRep!
     
    ren %1 "!VrNamRep:~0,1!!chaine!"
     
    goto :eof
    Bonjour,

    ce code me correspond mieux car il est plus amélioré que le mien.

    Cependant, il ne met pas la première lettre en MAJUSCULE de chaque mot.

    Dans l'attente de votre réponse.

    Jujudeo

  6. #6
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par jujudeo Voir le message
    Bonjour,
    Cependant, il ne met pas la première lettre en MAJUSCULE de chaque mot.
    Dans l'attente de votre réponse.
    Jujudeo
    Déjà répondu plus haut

  7. #7
    Membre confirmé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Déjà répondu plus haut
    Je m'excuse, il marche, mais il ne met pas la premiere lettre en majuscule...

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

Discussions similaires

  1. Les noms de fichiers et les minuscules ou majuscules
    Par gifffftane dans le forum Windows
    Réponses: 5
    Dernier message: 23/06/2008, 12h05
  2. problème majuscule et minuscule
    Par rdams dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/10/2005, 14h45
  3. Réponses: 3
    Dernier message: 08/08/2005, 11h24
  4. Différence entre majuscule et minuscule dans une requête
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2004, 14h42
  5. [RICHEDIT] -> Majuscule et Minuscule ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 12h33

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