[BAT] variable
Résolu/Fermé
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
-
16 avril 2009 à 14:52
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 16 avril 2009 à 21:12
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 16 avril 2009 à 21:12
A voir également:
- [BAT] variable
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Fichier bat - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Vba range avec variable ✓ - Forum VB / VBA
- Bat @echo off ✓ - Forum Autoit / batch
11 réponses
scriptiz
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
422
16 avril 2009 à 14:53
16 avril 2009 à 14:53
Ca fait longtemps mais il me semble qu'il faut mettre des % autour des noms de variables quand on les utilises par la suite, je me trompe peut-être, cherche un petit cours ou des exemples sur internet sinon.
dans un bat mettre %% devant les variables
dir %1 /s | find "pertoire" >C:\temp\d1.log
for /f "tokens=3 delims= " %%i in (C:\temp\d1.log) do (
dir /A:-D /A:A %%i >C:\temp\d2.log 2>>C:\temp\err.log
....
)
dir %1 /s | find "pertoire" >C:\temp\d1.log
for /f "tokens=3 delims= " %%i in (C:\temp\d1.log) do (
dir /A:-D /A:A %%i >C:\temp\d2.log 2>>C:\temp\err.log
....
)
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 15:36
16 avril 2009 à 15:36
Merci d'avoir repondu!
donc dans mon cas comment utilisé les variables?
en faisant:
set etat="eteint"
if %%etat=="eteint"
ca devrais reussir le test??"
donc dans mon cas comment utilisé les variables?
en faisant:
set etat="eteint"
if %%etat=="eteint"
ca devrais reussir le test??"
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 15:44
16 avril 2009 à 15:44
pk la en l'occurence ca marche pas!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 16:04
16 avril 2009 à 16:04
Ok merci!
Alors ce que tu as dis marche, mais dans mon cas ca a l'air plus compliqué...
en fait tout viens du fait que c'est dans un for!
exemple:
Set etat=eteint
echo %etat%
ca ca marche ca affiche eteint
par contre ca:
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set etat=eteint
echo %etat%
)
ca marche pas ca affiche:
commande activée/désactivée
suivant si j'ai un @echo off au debut ou pas...
Alors ce que tu as dis marche, mais dans mon cas ca a l'air plus compliqué...
en fait tout viens du fait que c'est dans un for!
exemple:
Set etat=eteint
echo %etat%
ca ca marche ca affiche eteint
par contre ca:
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set etat=eteint
echo %etat%
)
ca marche pas ca affiche:
commande activée/désactivée
suivant si j'ai un @echo off au debut ou pas...
Pour faire un test :
dans ordinateurs.txt j'ai 2 lignes :
a
b
<eof>
le script suivant affiche 2 fois "eteint"
Set etat=eteint
for /F "Tokens=1-2 Delims= " %%i in (ordinateurs.txt) do (
echo %etat%
)
dans ordinateurs.txt j'ai 2 lignes :
a
b
<eof>
le script suivant affiche 2 fois "eteint"
Set etat=eteint
for /F "Tokens=1-2 Delims= " %%i in (ordinateurs.txt) do (
echo %etat%
)
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 16:15
16 avril 2009 à 16:15
Oui mais le probleme c'est que dans mon cas, je veux declarer la variable dans le for et l'utiliser dans le for et c'est ca qui posse probleme!
par exemple je reprend ton ex:
dans ordinateurs.txt j'ai 2 lignes :
poste1 ip1
poste2 ip2
<eof>
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set poste=%%i
Set ip=%%j
echo %poste%
echo %ip%
)
et la ca marche pas!
Alors je sais pas si y'a un moyen de faire ce que je veux...
par exemple je reprend ton ex:
dans ordinateurs.txt j'ai 2 lignes :
poste1 ip1
poste2 ip2
<eof>
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set poste=%%i
Set ip=%%j
echo %poste%
echo %ip%
)
et la ca marche pas!
Alors je sais pas si y'a un moyen de faire ce que je veux...
dubcek
Messages postés
18587
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
12 mars 2023
5 583
16 avril 2009 à 16:23
16 avril 2009 à 16:23
essayer
setlocal enableDelayedExpansion
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set poste=%%i
Set ip=%%j
echo !poste!
echo !ip!
)
setlocal disableDelayedExpansion
setlocal enableDelayedExpansion
for /F "Tokens=1-2 Delims= " %%i in (\\Lsinfo\infodoc\02-Sys~1\03-Sys~1\01-Par~1\invent~1\ping\ordinateurs.txt) do (
Set poste=%%i
Set ip=%%j
echo !poste!
echo !ip!
)
setlocal disableDelayedExpansion
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 16:25
16 avril 2009 à 16:25
Interressant ca a l'air de marcher au premiere abord!
je vais faire des test plus approfondi!
j'avais vu cet notion en cherchant mais j'avais mal du comprendre son utilite lol
en tout cas un grand merci!
je reviens vous dire si ca marche correctement!
je vais faire des test plus approfondi!
j'avais vu cet notion en cherchant mais j'avais mal du comprendre son utilite lol
en tout cas un grand merci!
je reviens vous dire si ca marche correctement!
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
312
16 avril 2009 à 21:12
16 avril 2009 à 21:12
Voila c'est tout bon j'ai reussi a faire mon script qui ping une liste de serveur et qui crée une page html avec le resultat et des couleurs en fonction de l'etat :D
merci a vous!
merci a vous!
16 avril 2009 à 14:55
c'est vrai j'ai pas mis la partie ou on je les utilises!
mais tout simplement si je fais:
echo %etat%
et bien ca n'affiche rien et si je l'utilise comme suit:
if %etat% = "allume"
a l'execution ca met:
if "" = "allume"
...
J'ai deja regarder different tuto ou autre mais je trouve pas!