[BATCH]Comment mettre le contenu d'un .txt dans une variable

Résolu
Mathou -  
 Mathou -

Bonjour

Je débute en batch et je voudrais savoir, comment mettre le contenu d'un fichier texte dans une variable en BATCH (en sachant que le fichier est lus et qu'il ne reste juste à stocker son contenu dans une variable)

J'ai 11 ans et je débute en informatique alors ça me ferais vraiment plaisir d'avoir une réponse. 

Merci

3 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     

    Bonjour,

    Je ne pense pas qu'il soit possible de mettre tout le contenu dans une variable.

    On peut mettre une ligne, puis une autre, ou bien concaténer les lignes mais dans ce dernier cas on perd les retours à la ligne :

    @echo off
    setlocal enabledelayedexpansion
    
    for /f "delims=" %%A in ('type monfichier.txt') do (
    set "ligne=!ligne! %%~A"
    echo.
    echo.!ligne!
    )
    
    pause
    exit
    


    1
    1. Mathou
       

      Merci de votre retour

      J'ai finalement réussi à mettre le contenu d'un fichier txt dans une variable.

      En essayant votre proposition, ça ne fonctionnait pas. Donc j'ai fini par trouver une solution qui fonctionnait

      Merci Beaucoup de votre retour

      0
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Mathou
         

        Est-ce que tu pourrais poster la solution ?

        Ca pourrait servir à d'autres personnes.

        1
      2. Mathou > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
         

        Oui bien sur avec plaisir

        @echo off
        set /p contenu=<fic_liaison.txt
        echo %contenu%
        pause
        0
  2. PierrotLeFou
     

    Je l'ai essayé sur Cygwin:
    $ cat ss.t                                                                                                              
    ABCD                                                                                                                    
    1234                                                                                                                    
                                                                                                                            
    ordi@ORDIORD-ORECBBV ~                                                                                                  
    $ var=`cat ss.t`                                                                                                        
                                                                                                                            
    ordi@ORDIORD-ORECBBV ~                                                                                                  
    $ echo $var                                                                                                             
     1234                                                                                                                   
                                                                                                                            
    ordi@ORDIORD-ORECBBV ~                                                                                                  
    $ $var                                                                                                                  
    bash: $'ABCD\r' : commande introuvable                                                                                   
    Le fichier semble là en entier mais ce n'est pas évident à gérer.

    1
  3. PierrotLeFou
     

    Salut,
    D'abord, tu ne dis pas sur quel système tu veux faire cela.
    Ensuite, pourquoi veux-tu mettre le contenu de tout le fichier dans une variable?
    Tu dis que le fichier est déjà lu. C'est avec quelle commande ou quelle fonction?

    0