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 :

[batch] Utiliser les accents


Sujet :

Scripts/Batch

  1. #1
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut [batch] Utiliser les accents
    Bonjour à tous,

    J'ai un script batch qui récupère des variables d'un autre fichier. Les variables en question (qui servent a créer des répertoires) contiennent des accents.

    Ce sont ces accents qui me posent problème : ils sont transformés en caractères spéciaux...

    J'ai regardé sur quelques sites, et il semble que pour résoudre ce problème, il faut mettre le batch au format OEM. C'est ce que j'ai fait (avec ultra edit, j'ai aussi essayé avec "edit monBatch"), mais j'ai toujours le même problème.

    En fait, si je comprends bien, le fait de transformer le format en OEM permet d'écrire des accents dans le batch, mais ca ne marche pas quand je récupère des variables avec accents qui ne sont pas écrites en dur dans mon batch...

    Quelqu'un a déjà rencontré ce problème ?

    Merci de vos réponses

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Bonjour,

    dans votre cas un transtypage resoudra votre problème :

    Exemple :
    Code : 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
    Set var=les_élèves_âgés_sont_à_retenir_ 
    
    Set var=%var:é=‚%  
    :: ALT+0130
    
    Set var=%var:è=Š%  
    :: ALT+0138
    
    Set var=%var:à=…%  
    :: ALT+0133
    
    Set var=%var:â=ƒ%  
    :: ALT+0131
    
    Echo %var%

  3. #3
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Merci beaucoup i'm here !
    Ca marche nickel !

    Une petite question subsidiaire cependant :p : Sais tu si c'est possible de regrouper tout ça pour éviter d'avoir plusieurs lignes ?

    quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set var=%var:è=Š:é=‚%

    [edit] Pas la peine, ça marche très bien comme ça ^^'

  4. #4
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    Bonjour,

    dans votre cas un transtypage resoudra votre problème :

    Exemple :
    Code : 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
    Set var=les_élèves_âgés_sont_à_retenir_ 
    
    Set var=%var:é=‚%  
    :: ALT+0130
    
    Set var=%var:è=Š%  
    :: ALT+0138
    
    Set var=%var:à=…%  
    :: ALT+0133
    
    Set var=%var:â=ƒ%  
    :: ALT+0131
    
    Echo %var%

    Je reviens vers vous pour une petite précision : Je souhaite interpreter le "%", mais je ne trouve pas un tableau récapitulatif de tous ces caractères spéciaux, quelqu'un peut me donner un lien ?

    Merci beaucoup

  5. #5
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    edit : ce site aussi est pas mal : http://astase.com/forums/viewtopic.php?id=3118

    Mais toujours pas de nouvelle de mon "%" ...



    Voila mon code au passage :

    Code : 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
    @echo off
    setlocal
    setlocal enabledelayedexpansion
    
    set rep_arrivee=D:\test
    set rep_sortie=D:\test\ah
    
    set var=test-%-hihi.txt
    set var=!var:é=‚!
    set var=!var:è=Š!
    set var=!var:à=…!
    set var=!var:â=ƒ!
    
    echo var: %var%
    echo var2: !var!
    
    move %rep_arrivee%\%var% %rep_sortie%

    et voila ce que j'obtiens :
    var : test--hihi.txt
    var2 : test--hihi.txt
    Le fichier spécifié est introuvable.

  6. #6
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Ce qui est bizarre, c'est que si je parcours le répertoire et je liste les fichiers présents, le % marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For /R %rep_arrivee% %%a in (*.*) do (
    echo plop : %%a
    )
    ==>

    plop : D:\test\test-%-hihi.txt

  7. #7
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Salut,

    le caractère % pour l'utiliser il faut le doublé %%

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set var_=il fait froid ces jours ci #brrrr#
    Set var_
    Set var_=!var_:#=%%!
    Set var_
    et pour le fun:
    ----------------
    Code : 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
    @echo off
    
    (
    Echo ^<HTA:APPLICATION SCROLL="YES"^>
    Echo ^<HTML^>
    Echo ^<HEAD^>
    Echo ^<TITLE^>Code Crarctères^</TITLE^>
    Echo ^</HEAD^>
    Echo ^<BODY Style="background-color:Gray;"^>
    Echo ^<DIV STYLE="Font-Family:Monospace;Color:#ccc;"^>
    Echo ^<SCRIPT TYPE="TEXT/JAVASCRIPT"^>
    Echo  for^(i=33;i^<383;i++^)  {
    Echo   document.write^("code " +i+ "= &#"+i+";<BR/\>"^)
    Echo  }
    Echo ^</SCRIPT^>
    Echo ^</DIV^>
    Echo ^</BODY^>
    Echo ^</HTML^>
    )>>char.hta
    
    start "" char.hta
    Exit

  8. #8
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Ok pour remplacer un caractère par un %, mais mon problème est un petit peu différent : mon % est déjà dans ma variable : (je souhaite juste qu'il m'affiche ma variable avec le caractère % )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set var_=c est vrai qu il fait pas chaud %brrrr
    Set var_=!var_:%%=%%!
    
    echo var : !var_!

  9. #9
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    quel est le but de ton code ?

    si c'est pour afficher le caractère % dans, la variable c'est plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set var_=c est vrai qu il fait pas chaud %%brrrr
    echo var : !var_!

  10. #10
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Le problème est que je reçois la variable (suite a transfert cft) et je ne peux pas la modifier.
    la variable qui arrive se nomme : test-%-test.txt
    Je souhaite pouvoir utiliser cette variable dans mon batch.

    Merci de ton aide

  11. #11
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    la modifier ? c-à-d

  12. #12
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Je la reçois avec un nom : test-%-test
    Je ne peux pas choisir son nom.

    Mon batch récupère cette valeur, mais quand je l'affiche je n'ai pas le % dans ma variable.

    Le problème étant urgent, on a demandé a ne plus recevoir de noms contenant "%", le problème est réglé.

    Merci de ton aide

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/01/2013, 20h41
  2. comment utiliser les accents sur Kile (latex ) SVP
    Par mgoumine dans le forum Editeurs / Outils
    Réponses: 3
    Dernier message: 16/02/2012, 13h58
  3. Comment utiliser les batchs ?
    Par ruda.tom dans le forum Hibernate
    Réponses: 0
    Dernier message: 24/12/2008, 11h11
  4. Comment utiliser les resultats d'un python script dans un batch file ?
    Par Battosaiii dans le forum Général Python
    Réponses: 2
    Dernier message: 03/10/2008, 12h30
  5. Fonction à utiliser pour remplacer les accents et autres caractères
    Par Christophe Charron dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 12h50

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