[batch] contenu d'un fichier dans une variabl
Résolu/Fermé
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
-
29 nov. 2008 à 17:43
Tardif - 8 juin 2015 à 21:08
Tardif - 8 juin 2015 à 21:08
Bonjour,
comment mettre le contenu d'un ficher dans une variable en batch
comment mettre le contenu d'un ficher dans une variable en batch
A voir également:
- Afficher contenu fichier windows cmd
- Fichier rar - Guide
- Cmd - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
13 réponses
Utilisateur anonyme
29 nov. 2008 à 19:09
29 nov. 2008 à 19:09
Bon, 2 choses :
1) J'ai oublié une option, dsl...
Le code est :
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 :
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
@+
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
@+
SAW4
Messages postés
190
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2008
16
29 nov. 2008 à 19:15
29 nov. 2008 à 19:15
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
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
29 nov. 2008 à 19:07
29 nov. 2008 à 19:07
rem @echo off
rem voila ma variable :
set var= < bat.txt
echo --
echo %var%
echo --
set var=
pause>nul
rem voila ma variable :
set var= < bat.txt
echo --
echo %var%
echo --
set var=
pause>nul
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
29 nov. 2008 à 18:21
29 nov. 2008 à 18:21
j'ai deja essaye ca marche pas
SAW4
Messages postés
190
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2008
16
29 nov. 2008 à 18:37
29 nov. 2008 à 18:37
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 ;-)
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 ;-)
SAW4
Messages postés
190
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2008
16
29 nov. 2008 à 19:03
29 nov. 2008 à 19:03
tu peux me montrer ton code ?
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
29 nov. 2008 à 19:12
29 nov. 2008 à 19:12
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 !
c'est ce que je cherchai !
si tu as besoin d'aide n'esite pas !
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
29 nov. 2008 à 19:18
29 nov. 2008 à 19:18
non non, je voulais simplement stocker le contenu dans une variable merci.
greg6614
Messages postés
592
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
3 juin 2017
107
Modifié par greg6614 le 26/05/2013 à 22:01
Modifié par greg6614 le 26/05/2013 à 22:01
salut, si ton fichier TXT ne contient qu'un seul ligne, un simple :
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
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
Lefouerrant
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
29 nov. 2008 à 18:43
29 nov. 2008 à 18:43
tu peux me montrer un exemple ?
si ca peut t'aider mon fichier ne contient qu'une seule ligne
si ca peut t'aider mon fichier ne contient qu'une seule ligne