[batch] contenu d'un fichier dans une variabl

Résolu
Lefouerrant Messages postés 578 Statut Membre -  
 Tardif -
Bonjour,
comment mettre le contenu d'un ficher dans une variable en batch

--

Âne aux nîmes

13 réponses

  1. Utilisateur anonyme
     
    Bon, 2 choses :

    1) J'ai oublié une option, dsl...
    Le code est :

     set /p VAR= < ton_fichier.txt 


    2) Si ton fichier texte fait plusieurs lignes, seule la première (enfin, tant qu'il n n'y a pas de saut de ligne, cela n'exclut pas le retour à la ligne a cause du manque d'espace pour tou écrire a la suite) sera enregistrée : Le DOS ne prend pas en compte les retours a la ligne...

    Prenons pour exemple le code :

    @echo off
    @cls
    set /p VARIABLE= < fichier.txt
    echo %VARIABLE%
    pause>nul
    


    Il a deux sortes de résultats a se code, cela dépend du contenu du fichier texte :

    Si le fichier texte contient ceci :

    ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ

    Sans sauter de ligne (tout a la suite), sa marche.

    Si le fichier contient ceci :

    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    Sa ne marche pas, il faut utiliser FOR /F

    @+
    21
  2. Utilisateur anonyme
     
    Slt, voila le code :

     set VARIABLE= < ton_fichier.txt 


    @+
    5
  3. SAW4 Messages postés 212 Statut Membre 16
     
    Si le but de ton batch lire simplement le fichier bat.txt alors il y a la commande TYPE BAT.TXT si par contre tu veux faire des traitement sur ton fichier alors :

    
    For /f "tokens=*" %%a In (bat.txt) do (
    echo --
    echo %%a
    echo -- 
    )
    set var=
    pause>nul
    4
  4. Lefouerrant Messages postés 578 Statut Membre 116
     
    rem @echo off

    rem voila ma variable :
    set var= < bat.txt

    echo --
    echo %var%
    echo --
    set var=
    pause>nul
    3
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lefouerrant Messages postés 578 Statut Membre 116
     
    j'ai deja essaye ca marche pas
    2
  7. SAW4 Messages postés 212 Statut Membre 16
     
    Salut,

    il faut mettre la variable dans une boucle...la variable traite le fichier ligne par ligne donc une boucle FOR /F est la plus approprié pour ce genre de chose ;-)
    2
  8. SAW4 Messages postés 212 Statut Membre 16
     
    tu peux me montrer ton code ?
    2
  9. Lefouerrant Messages postés 578 Statut Membre 116
     
    merci beaucoup ! ton code set /p var= < fichier.txt fonctionne
    c'est ce que je cherchai !
    si tu as besoin d'aide n'esite pas !
    2
  10. Lefouerrant Messages postés 578 Statut Membre 116
     
    non non, je voulais simplement stocker le contenu dans une variable merci.
    2
  11. greg6614 Messages postés 629 Statut Membre 107
     
    salut, si ton fichier TXT ne contient qu'un seul ligne, un simple :

    set VAR=<Fichier.txt 


    Sinon s'il contient plusieurs ligne, il faut certainement essayer avec une boucle FOR /F. :)

    EDIT: Trop tard ^^

    En espérant t'avoir aider
    Greg
    2
  12. Lefouerrant Messages postés 578 Statut Membre 116
     
    tu peux me montrer un exemple ?
    si ca peut t'aider mon fichier ne contient qu'une seule ligne
    1
  13. Skywalker
     
    Tu oublies le commutateur /p ^^

    ce n'est pas set var=fichier.txt
    mais set /p var=fichier.txt

    ET voilà XD
    1
    1. Tardif
       
      Désolé poru le retard mais le /p cherche à demander à un utilisateur de demander de mettre une variable.

      ça va afficher : fichier.txt_
      -1