Problème avec for

Utilisateur anonyme -  
brucine Messages postés 24748 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai coder un programme en batch mais il a un problème dans la partie
for
.
lorsque je l'exécute il me met seulement la premier valeur dans nom et le reste ne s'affiche pas.

voici le code

:load
cls
for /f "tokens=1-4 delims/" %%a in (%profil%.save) do set nom=%%a & set vie=%%b & set énergie=%%c & set or=%%d
cls
echo nom: %nom%
echo vie: %vie%
echo énergie: %énergie%
echo or: %or%
pause>nul
goto :menu


j'ai essayer d'ajouter
%%a %%b %%c %%d
mais rien ne se passe.
merci pour vos réponse

2 réponses

  1. brucine Messages postés 24748 Date d'inscription   Statut Membre Dernière intervention   4 154
     
    Bonjour,

    Il n'y a pas pour commencer une erreur de syntaxe sur delims?

    delims=/"

    Dont je ne sais d'ailleurs pas comment le slash est interprété, si ça ne fonctionne toujours pas, il faut peut-être "échapper" ce caractère sur le mode:

    for /f tokens^=1^,2^,3^ delims^=^" %%G in (filename.txt) do echo %%G %%H %%I
    0
    1. brucine Messages postés 24748 Date d'inscription   Statut Membre Dernière intervention   4 154
       
      Donc assumant que j'ai créé dans le dossier où je lance le batch un fichier save.txt:

      nom1/vie1/énergie1/or1

      il vient:


      CHCP 65001
      for /f "tokens=1-4 delims=/" %%a in (save.txt) do set nom=%%a & set vie=%%b & set énergie=%%c & set or=%%d
      echo vie: %vie%
      echo énergie: %énergie%
      echo or: %or%
      pause>nul


      La ligne CHCP permettant de lire correctement l'accent de "énergie"
      0
  2. Utilisateur anonyme
     
    j'ai fait la manipe et sa n'a pas résolu le problème et sa changer le résultat :

    Page de codes active : 65001
    vie:
    énergie:
    or:


    je pense qu'il n'a pas de problème au niveau de
    delims=/
    ou
    %énergie%
    mais peut-être aux niveaux
    %%a in
    0
    1. brucine Messages postés 24748 Date d'inscription   Statut Membre Dernière intervention   4 154
       
      Si je te dis que j'ai testé et réussi... (à cela près que j'ai oublié l'écho de "nom").

      Maintenant, je n'ai aucune idée de ce qu'il y a dans ta variable %profil% que je n'ai pas vu définie, et encore moins de ce qu'est un fichier *.save.

      Seul le problème de délimiteur plantait l'affaire chez moi; tu serais donc bien inspiré de revoir comment tu as recopié la syntaxe (ou de préciser ce à quoi correspond ta fameuse variable et le fichier save cible).
      0