Faire apparaître une variable en reprenant une autre variable
Modérateur : WIN32-[GG]
Faire apparaître une variable en reprenant une autre variable
Bonjour,
Je n'arrive pas à faire afficher une variable lorsque je fais apparaitre une autre variable.
Alors comment ça marche :
J'ai créé un fichier .bat dans lequel il y a une variable qui s’appelle VAR=1
J'ai créé un fichier .txt et le bat va récupérer ce qui est marqué dedans test %var%
quand j'ouvre le .bat il me fais apparaitre test %var% et non test 1
.BAT
@echo off
set VAR=1
(
set file1=
)<FILE.TXT
echo %file1%
pause
donc le .bat affiche 1 quand je met %VAR% maintenant dans le fichier txt
.TXT
test %VAR%
Le .bat va donc récupérer la ligne 1 qui est test %VAR%
MAIS il me fais apparaitre test %VAR%
Et je ne sais pas comment faire pour que dans le bat il me fasse apparaitre test 1
Je n'arrive pas à faire afficher une variable lorsque je fais apparaitre une autre variable.
Alors comment ça marche :
J'ai créé un fichier .bat dans lequel il y a une variable qui s’appelle VAR=1
J'ai créé un fichier .txt et le bat va récupérer ce qui est marqué dedans test %var%
quand j'ouvre le .bat il me fais apparaitre test %var% et non test 1
.BAT
@echo off
set VAR=1
(
set file1=
)<FILE.TXT
echo %file1%
pause
donc le .bat affiche 1 quand je met %VAR% maintenant dans le fichier txt
.TXT
test %VAR%
Le .bat va donc récupérer la ligne 1 qui est test %VAR%
MAIS il me fais apparaitre test %VAR%
Et je ne sais pas comment faire pour que dans le bat il me fasse apparaitre test 1
ChickenY Batch Dev
-
- Batcheur débutant
- Messages : 13
- Enregistré le : 21 sept. 2016 07:02
Re: Faire apparaître une variable en reprenant une autre variable
Salut, perso avec l'exemple que tu donnes la variable n'est pas créée.
Ça fonctionne avec le code suivant en changeant le contenu du fichier par "test !VAR!"
Ça fonctionne avec le code suivant en changeant le contenu du fichier par "test !VAR!"
Code : Tout sélectionner
@echo off
setlocal enabledelayedexpansion
set VAR=1
for /f "tokens=*" %%a in (file.txt) do (
set file1=%%a
)
echo %file1%
endlocal
pause
exit
Re: Faire apparaître une variable en reprenant une autre variable
Justement la variables et créé
set VAR=1
ensuite jai cree un document.txt ou ya marquer TEST
donc quand je vais sur le bat que je fais %VAR% jai bien 1 ensuite je vais chercher ce qui ya dans le doc document.txt en faisant
(
set line1=
)<document.txt donc il me recupere bien TEST en faisant %line1% maintenant si dans le document.txt je met TEST %VAR% il va me mettre TEST %VAR% et non TEST 1 en gros il prend le %VAR% pour un texte et non une variable a afficher.
Et je sais pas comment faire.
set VAR=1
ensuite jai cree un document.txt ou ya marquer TEST
donc quand je vais sur le bat que je fais %VAR% jai bien 1 ensuite je vais chercher ce qui ya dans le doc document.txt en faisant
(
set line1=
)<document.txt donc il me recupere bien TEST en faisant %line1% maintenant si dans le document.txt je met TEST %VAR% il va me mettre TEST %VAR% et non TEST 1 en gros il prend le %VAR% pour un texte et non une variable a afficher.
Et je sais pas comment faire.
ChickenY Batch Dev
-
- Batcheur débutant
- Messages : 13
- Enregistré le : 21 sept. 2016 07:02
Re: Faire apparaître une variable en reprenant une autre variable
En faisantj'ai le message "Commande ECHO désactivée." Donc variable inexistante.
Code : Tout sélectionner
(
set file1=
)<file.txt
Re: Faire apparaître une variable en reprenant une autre variable
Non non c'est pas ça.
Je sais pas comment expliquer.
Dans mon .bat j'ai
@echo off
set VAR=1
(
set line1=
)<doc.txt
echo %VAR%
echo %line1%
pause
Donc la le .bat m'affiche 1 quand je fais %VAR% et la ligne du doc.txt quand je fais %line1% jusqua la tout et normal maintenant dans la ligne il ya marqué HELLO WORLD %VAR% donc il me prend le %VAR% pour un texte et non quelque chose qui doit remplacer je pense apres quon ne peut pas mettre 2 variable a afficher sur une.
dans mon doc.txt ya une ligne qui est : HELLO WORLD %VAR% et je recupere cette ligne de doc grace a
(
set line1=
)<doc.txt
mais ducoup il me prend le %VAR% pour un text donc je pense quil est impossible dafficher une variable en la mettant dans une autre ou dans un document a part.
Je sais pas comment expliquer.
Dans mon .bat j'ai
@echo off
set VAR=1
(
set line1=
)<doc.txt
echo %VAR%
echo %line1%
pause
Donc la le .bat m'affiche 1 quand je fais %VAR% et la ligne du doc.txt quand je fais %line1% jusqua la tout et normal maintenant dans la ligne il ya marqué HELLO WORLD %VAR% donc il me prend le %VAR% pour un texte et non quelque chose qui doit remplacer je pense apres quon ne peut pas mettre 2 variable a afficher sur une.
dans mon doc.txt ya une ligne qui est : HELLO WORLD %VAR% et je recupere cette ligne de doc grace a
(
set line1=
)<doc.txt
mais ducoup il me prend le %VAR% pour un text donc je pense quil est impossible dafficher une variable en la mettant dans une autre ou dans un document a part.
ChickenY Batch Dev
-
- Batcheur débutant
- Messages : 13
- Enregistré le : 21 sept. 2016 07:02
Re: Faire apparaître une variable en reprenant une autre variable
Oui, j'ai compris. Mais ici impossible de récupérer la ligne comme tu le fais.
[Résolu] Faire apparaître une variable en reprenant une autre variable
Ah bon c'est pas grave mais du coup sa gâche un coté à part si on utilise aucun doc et tout sur le .bat
Merci quand même.
Merci quand même.
Modifié en dernier par ChickenY le 05 déc. 2019 14:09, modifié 1 fois.
ChickenY Batch Dev
-
- Batcheur débutant
- Messages : 13
- Enregistré le : 21 sept. 2016 07:02
Re: Faire apparaître une variable en reprenant une autre variable
Tu as essayé comme je t'ai dit ? Ça marche nickel.
-
- Batcheur occasionnel
- Messages : 1
- Enregistré le : 21 janv. 2020 20:01
Re: Faire apparaître une variable en reprenant une autre variable
Salut,
En mettant 'ECHO Test%VAR%' dans un fichier '.bat', et à l'aide de la commande "START", on peux faire apparaître la valeur de %VAR% comme tu le souhaites.
Exemple:
Le contenu du programme principal à exécuter:
@ECHO OFF
SET /a VAR=1
START file.bat
Le contenu du fichier 'file.bat' que la commande "START" doit ouvrir:
@ECHO OFF
ECHO Test%VAR%
PAUSE
EXIT
Ça ne marchera pas avec la commande "ECHO" car cette commande considère le contenu d'un fichier '.txt' ou '.bat' comme du texte brut à afficher simplement.
En mettant 'ECHO Test%VAR%' dans un fichier '.bat', et à l'aide de la commande "START", on peux faire apparaître la valeur de %VAR% comme tu le souhaites.
Exemple:
Le contenu du programme principal à exécuter:
@ECHO OFF
SET /a VAR=1
START file.bat
Le contenu du fichier 'file.bat' que la commande "START" doit ouvrir:
@ECHO OFF
ECHO Test%VAR%
PAUSE
EXIT
Ça ne marchera pas avec la commande "ECHO" car cette commande considère le contenu d'un fichier '.txt' ou '.bat' comme du texte brut à afficher simplement.