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 DOS : Déspécialisation de caractère


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut Batch DOS : Déspécialisation de caractère
    Bonjour à tous !

    mon problème est le suivant :

    J'ai un fichier test.xml contenant plusieurs lignes dont celle-ci :

    <option name="nom_H9" value = " 33NL" />

    Mon objectif est de récupérer la valeur " 33NL" et la mettre dans une variable dos qui va être utilisée par la suite.

    Cette partie de mon problème doit s'effectuer dans un script bat sous windows.

    J'avais fait cette tentative ci-dessous mais cela ne marche pas


    FINDSTR /C:"nom_H9" test.xml > temp.txt

    FOR /F "tokens=1,2,3 delims==" %%a IN ('FINDSTR /C:"nom_H9" temp.txt') DO ( echo "%%c"

    set var=%%c
    echo %var:~2,5% > nom_H9.txt
    set mavar='%var:~2,5%'
    echo %mavar%
    )


    je voudrais que %mavar% contiennent " 33NL" (sans les guillements). J'aurais voulu mettre le quatrième tokens avec le délimiteur " mais cela me génère une erreur.

    D'avance merci

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    salut

    voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    setlocal enableDelayedExpansion 
    
     for /f "tokens=3 delims==" %%i in ('type fichier.txt') do (
    
       set vr=%%i
       set vr=!vr:/^>=!
       set vr=!vr:"=!
    
        echo !vr!
    
     ) 
    
    endlocal

    Dans ton code tu créer une variable que tu essai d'utiliser a l'intérieur de la boucle for, on ne peut pas créer et utiliser une même variable dans une même boucle for sans activé l'expansion retarder des variable d'environnement, pour cela il faut ajouter ce que j'ai ajouter en rouge, et au lieu d'écrire une variable comme ceci: %vr% tu le fait comme cela !vr!

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut Super !
    j'en apprends des choses !

    merci beaucoup ! c'est nickel !

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

Discussions similaires

  1. Batch DOS caractères spéciaux et SQL 2005
    Par PSam54 dans le forum Outils
    Réponses: 5
    Dernier message: 12/05/2011, 20h44
  2. [DOS] batch et conversion de caractères
    Par lujayne dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/12/2004, 16h05
  3. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24
  4. [DOS] Accès au caractère Control-C
    Par balti dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 04/12/2003, 23h53
  5. Réponses: 5
    Dernier message: 01/10/2003, 15h03

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