[batch] contenu d'un fichier dans une variabl

Résolu
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -  
 Tardif -
Bonjour,
comment mettre le contenu d'un ficher dans une variable en batch
A voir également:

13 réponses

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
Utilisateur anonyme
 
Slt, voila le code :

 set VARIABLE= < ton_fichier.txt 


@+
5
SAW4 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   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
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   116
 
rem @echo off

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

echo --
echo %var%
echo --
set var=
pause>nul
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   116
 
j'ai deja essaye ca marche pas
2
SAW4 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   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
SAW4 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   16
 
tu peux me montrer ton code ?
2
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
Ok, merci

@+
2
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   116
 
non non, je voulais simplement stocker le contenu dans une variable merci.
2
greg6614 Messages postés 592 Date d'inscription   Statut Membre Dernière intervention   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
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   116
 
tu peux me montrer un exemple ?
si ca peut t'aider mon fichier ne contient qu'une seule ligne
1
Skywalker
 
Tu oublies le commutateur /p ^^

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


ET voilà XD
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