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

Résolu
Mathou - 2 mars 2023 à 18:40
 Mathou - 8 mars 2023 à 14:51

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

barnabe0057 Messages postés 14247 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 17 mars 2023 4 868
Modifié le 2 mars 2023 à 18:55

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

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
barnabe0057 Messages postés 14247 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 17 mars 2023 4 868 > Mathou
3 mars 2023 à 17:34

Est-ce que tu pourrais poster la solution ?

Ca pourrait servir à d'autres personnes.

1
Mathou > barnabe0057 Messages postés 14247 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 17 mars 2023
Modifié le 8 mars 2023 à 14:52

Oui bien sur avec plaisir

@echo off
set /p contenu=<fic_liaison.txt
echo %contenu%
pause
0
PierrotLeFou
2 mars 2023 à 19:15

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
PierrotLeFou
2 mars 2023 à 18:49

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