Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude BELLAMY
Dans le message :450559b2$0$22580$, Bruno Guerpillon a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable (shell). Je sais faire ça sous unix, par exemple :
n=`ping toto` echo $n
La question est donc comment faire la même chose dans un CMD windows XP ?
A l'aide de la commande FOR : @echo off set command=%* FOR /F "delims=" %%C in ('%command%') do set Result=%%C echo La commande renvoit comme resultat : %result%
P.ex. : I:>testcomm.bat time /T La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Minimum = 46ms, Maximum = 47ms, Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière est affichée. Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut modifer le script ainsi : @echo off set command=%* FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto suite :suite echo La commande renvoit comme resultat : %result%
Cela donnera alors : I:>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Réponse de 138.96.146.2 : octets2 tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :450559b2$0$22580$626a54ce@news.free.fr,
Bruno Guerpillon <toto@toto.fr> a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable
(shell).
Je sais faire ça sous unix, par exemple :
n=`ping toto`
echo $n
La question est donc comment faire la même chose dans un CMD windows
XP ?
A l'aide de la commande FOR :
@echo off
set command=%*
FOR /F "delims=" %%C in ('%command%') do set Result=%%C
echo La commande renvoit comme resultat : %result%
P.ex. :
I:>testcomm.bat time /T
La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr
La commande renvoit comme resultat : Minimum = 46ms, Maximum = 47ms,
Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière
est affichée.
Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut
modifer le script ainsi :
@echo off
set command=%*
FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto suite
:suite
echo La commande renvoit comme resultat : %result%
Cela donnera alors :
I:>testcomm.bat ping www.inria.fr
La commande renvoit comme resultat : Réponse de 138.96.146.2 : octets2
tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :450559b2$0$22580$, Bruno Guerpillon a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable (shell). Je sais faire ça sous unix, par exemple :
n=`ping toto` echo $n
La question est donc comment faire la même chose dans un CMD windows XP ?
A l'aide de la commande FOR : @echo off set command=%* FOR /F "delims=" %%C in ('%command%') do set Result=%%C echo La commande renvoit comme resultat : %result%
P.ex. : I:>testcomm.bat time /T La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Minimum = 46ms, Maximum = 47ms, Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière est affichée. Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut modifer le script ainsi : @echo off set command=%* FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto suite :suite echo La commande renvoit comme resultat : %result%
Cela donnera alors : I:>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Réponse de 138.96.146.2 : octets2 tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Bruno Guerpillon
"Jean-Claude BELLAMY" a écrit dans le message de news:
Dans le message :450559b2$0$22580$, Bruno Guerpillon a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable (shell). Je sais faire ça sous unix, par exemple :
n=`ping toto` echo $n
La question est donc comment faire la même chose dans un CMD windows XP ?
A l'aide de la commande FOR : @echo off set command=%* FOR /F "delims=" %%C in ('%command%') do set Result=%%C echo La commande renvoit comme resultat : %result%
P.ex. : I:>testcomm.bat time /T La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Minimum = 46ms, Maximum = 47ms, Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière est affichée. Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut modifer le script ainsi : @echo off set command=%* FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto suite :suite echo La commande renvoit comme resultat : %result%
Cela donnera alors : I:>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Réponse de 138.96.146.2 : octets2 tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Merci, c'est exactement ce que je cherchais.
"Jean-Claude BELLAMY" <Jean-Claude.Bellamy@wanadoo.fr> a écrit dans le
message de news: uXyYrGb1GHA.4796@TK2MSFTNGP03.phx.gbl...
Dans le message :450559b2$0$22580$626a54ce@news.free.fr,
Bruno Guerpillon <toto@toto.fr> a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable
(shell).
Je sais faire ça sous unix, par exemple :
n=`ping toto`
echo $n
La question est donc comment faire la même chose dans un CMD windows
XP ?
A l'aide de la commande FOR :
@echo off
set command=%*
FOR /F "delims=" %%C in ('%command%') do set Result=%%C
echo La commande renvoit comme resultat : %result%
P.ex. :
I:>testcomm.bat time /T
La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr
La commande renvoit comme resultat : Minimum = 46ms, Maximum =
47ms, Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière
est affichée.
Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut
modifer le script ainsi :
@echo off
set command=%*
FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto
suite
:suite
echo La commande renvoit comme resultat : %result%
Cela donnera alors :
I:>testcomm.bat ping www.inria.fr
La commande renvoit comme resultat : Réponse de 138.96.146.2 :
octets2 tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
"Jean-Claude BELLAMY" a écrit dans le message de news:
Dans le message :450559b2$0$22580$, Bruno Guerpillon a pris la peine d'écrire ce qui suit :
Bonjour
Je cherche à stocker le résultat d'une commande dans une variable (shell). Je sais faire ça sous unix, par exemple :
n=`ping toto` echo $n
La question est donc comment faire la même chose dans un CMD windows XP ?
A l'aide de la commande FOR : @echo off set command=%* FOR /F "delims=" %%C in ('%command%') do set Result=%%C echo La commande renvoit comme resultat : %result%
P.ex. : I:>testcomm.bat time /T La commande renvoit comme resultat : 16:41
I:VBS>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Minimum = 46ms, Maximum = 47ms, Moyenne = 46ms
NB: Dans le cas de ping, comme il y a plusieurs lignes, seule la dernière est affichée. Si on ne veut que la quatrième (en sautant donc les 3 1ères), il faut modifer le script ainsi : @echo off set command=%* FOR /F "skip=3 delims=" %%C in ('%command%') do set Result=%%C & goto suite :suite echo La commande renvoit comme resultat : %result%
Cela donnera alors : I:>testcomm.bat ping www.inria.fr La commande renvoit comme resultat : Réponse de 138.96.146.2 : octets2 tempsG ms TTLR
A toi d'adapter à ce que tu veux, je t'ai donné les bases ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] http://www.bellamyjc.org ou http://jc.bellamy.free.fr