Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de modifier
une adresse IP définie dans une variable en incrémentant le dernier bloc de
+1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je vérifie
si cette adresse n'est pas utilisée sur le réseau. Si elle l'est, je lance
"edit" pour modifier ce parametre dans le batch et il faut bien sur
redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de modifier
une adresse IP définie dans une variable en incrémentant le dernier bloc de
+1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je vérifie
si cette adresse n'est pas utilisée sur le réseau. Si elle l'est, je lance
"edit" pour modifier ce parametre dans le batch et il faut bien sur
redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de modifier
une adresse IP définie dans une variable en incrémentant le dernier bloc de
+1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je vérifie
si cette adresse n'est pas utilisée sur le réseau. Si elle l'est, je lance
"edit" pour modifier ce parametre dans le batch et il faut bien sur
redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et
recommencer mon test.
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et
recommencer mon test.
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et
recommencer mon test.
Dans le message 3ffef5e6$0$24016$,
Laurent <laurent~ s'est ainsi exprimé :
> Bonjour,
>
> Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
> modifier une adresse IP définie dans une variable en incrémentant le
> dernier bloc de +1 ?
San problème !
(cf. plus bas)
> Je bidouille un script qui me permet d'appliquer une config Ip
> automatique, seulement, avant d'affecter l'adresse IP à la carte, je
> vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
> l'est, je lance "edit" pour modifier ce parametre dans le batch et il
> faut bien sur redemarrer le script ... c'est plus automatique :o(
> http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
> Je me disais qu'il y avait peut-être un moyen pour faire cela
> de manière plus propre.
> Sinon, existe t-il un équivalent de "read" ?
> Je pourrais alors demander d'entrer une nouvelle adresse et
> recommencer mon test.
Voci un exemple de script d'incrémentation d'adr.IP :
(je suppose que l'adresse est dans la variable "%adresse%")
fichier incrAdrIP.bat
---------- couper ici ----------
@echo off
set adrIP=%1
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D+1
)
set adresse=%A1%.%A2%
---------- couper ici ----------
NB: je suppose que l'on n'a pas atteint "255" (tu peux ajouter un test
d'erreur si besoin est)
:RESERVE
....
echo 4 : Incrémenter cette adresse automatiquement
....
set /P confnetúites votre choix (1-4):
for %%r in (1 2 3 4) do if %confnet%==%%r goto option%%r
echo Option invalide
Goto Erreur
:option1
goto EDIT
:option2
goto %CHOIX%
:option3
goto EXIT
:option4
call incrAdrIP.bat %adresse%
goto .....
Par ailleurs, j'ai vu que dans ton script il t'arrivait de souvent tester
fois une variable, suivant qu'elle est en minuscule ou majuscule
p.ex. :
if %reponse%==c goto MENU
if %reponse%==C goto MENU
Tu peux simplifer cela en UN SEUL test :
if /I %reponse%==c goto MENU
le commutateur "/I" signifie "Ignore" (la casse)
Egalement, tu peux alléger le script ici :
for %%r in (A a) do if %confnet%==%%r goto CHOIX_A
for %%r in (B b) do if %confnet%==%%r goto CHOIX_B
for %%r in (C c) do if %confnet%==%%r goto CHOIX_C
for %%r in (D d) do if %confnet%==%%r goto CHOIX_D
for %%r in (E e) do if %confnet%==%%r goto CHOIX_E
for %%r in (F f) do if %confnet%==%%r goto CHOIX_F
for %%r in (I i) do if %confnet%==%%r goto INFO
for %%r in (T t) do if %confnet%==%%r goto TCP
...
Dans ces cas là, j'écris ceci :
for %%r in (A B C D E F I T) do if /i %confnet%==%%r goto %%r
echo Option invalide
pause
goto Menu
:A
...
...
:B
...
..
:C
...
:I
...
:T
...
Enfin, dans les tests "if", je te signale que tu peux GROUPER des
:
1) Soit par des "&" (comme dans les shells UNIX) :
if %machin%==truc action1 & action2 & set toto=bidule & call truc.bat
2) Soit à l'aide de bloc de parenthèses :
if %machin%==truc (
action1
action2
set toto=bidule
call truc.bat
)
Cela permet d'alléger considérablement les batchs.
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Dans le message 3ffef5e6$0$24016$626a54ce@news.free.fr,
Laurent <laurent~nospam@moreau-fr.net> s'est ainsi exprimé :
> Bonjour,
>
> Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
> modifier une adresse IP définie dans une variable en incrémentant le
> dernier bloc de +1 ?
San problème !
(cf. plus bas)
> Je bidouille un script qui me permet d'appliquer une config Ip
> automatique, seulement, avant d'affecter l'adresse IP à la carte, je
> vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
> l'est, je lance "edit" pour modifier ce parametre dans le batch et il
> faut bien sur redemarrer le script ... c'est plus automatique :o(
> http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
> Je me disais qu'il y avait peut-être un moyen pour faire cela
> de manière plus propre.
> Sinon, existe t-il un équivalent de "read" ?
> Je pourrais alors demander d'entrer une nouvelle adresse et
> recommencer mon test.
Voci un exemple de script d'incrémentation d'adr.IP :
(je suppose que l'adresse est dans la variable "%adresse%")
fichier incrAdrIP.bat
---------- couper ici ----------
@echo off
set adrIP=%1
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D+1
)
set adresse=%A1%.%A2%
---------- couper ici ----------
NB: je suppose que l'on n'a pas atteint "255" (tu peux ajouter un test
d'erreur si besoin est)
:RESERVE
....
echo 4 : Incrémenter cette adresse automatiquement
....
set /P confnetúites votre choix (1-4):
for %%r in (1 2 3 4) do if %confnet%==%%r goto option%%r
echo Option invalide
Goto Erreur
:option1
goto EDIT
:option2
goto %CHOIX%
:option3
goto EXIT
:option4
call incrAdrIP.bat %adresse%
goto .....
Par ailleurs, j'ai vu que dans ton script il t'arrivait de souvent tester
fois une variable, suivant qu'elle est en minuscule ou majuscule
p.ex. :
if %reponse%==c goto MENU
if %reponse%==C goto MENU
Tu peux simplifer cela en UN SEUL test :
if /I %reponse%==c goto MENU
le commutateur "/I" signifie "Ignore" (la casse)
Egalement, tu peux alléger le script ici :
for %%r in (A a) do if %confnet%==%%r goto CHOIX_A
for %%r in (B b) do if %confnet%==%%r goto CHOIX_B
for %%r in (C c) do if %confnet%==%%r goto CHOIX_C
for %%r in (D d) do if %confnet%==%%r goto CHOIX_D
for %%r in (E e) do if %confnet%==%%r goto CHOIX_E
for %%r in (F f) do if %confnet%==%%r goto CHOIX_F
for %%r in (I i) do if %confnet%==%%r goto INFO
for %%r in (T t) do if %confnet%==%%r goto TCP
...
Dans ces cas là, j'écris ceci :
for %%r in (A B C D E F I T) do if /i %confnet%==%%r goto %%r
echo Option invalide
pause
goto Menu
:A
...
...
:B
...
..
:C
...
:I
...
:T
...
Enfin, dans les tests "if", je te signale que tu peux GROUPER des
:
1) Soit par des "&" (comme dans les shells UNIX) :
if %machin%==truc action1 & action2 & set toto=bidule & call truc.bat
2) Soit à l'aide de bloc de parenthèses :
if %machin%==truc (
action1
action2
set toto=bidule
call truc.bat
)
Cela permet d'alléger considérablement les batchs.
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Dans le message 3ffef5e6$0$24016$,
Laurent <laurent~ s'est ainsi exprimé :
> Bonjour,
>
> Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
> modifier une adresse IP définie dans une variable en incrémentant le
> dernier bloc de +1 ?
San problème !
(cf. plus bas)
> Je bidouille un script qui me permet d'appliquer une config Ip
> automatique, seulement, avant d'affecter l'adresse IP à la carte, je
> vérifie si cette adresse n'est pas utilisée sur le réseau. Si elle
> l'est, je lance "edit" pour modifier ce parametre dans le batch et il
> faut bien sur redemarrer le script ... c'est plus automatique :o(
> http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
> Je me disais qu'il y avait peut-être un moyen pour faire cela
> de manière plus propre.
> Sinon, existe t-il un équivalent de "read" ?
> Je pourrais alors demander d'entrer une nouvelle adresse et
> recommencer mon test.
Voci un exemple de script d'incrémentation d'adr.IP :
(je suppose que l'adresse est dans la variable "%adresse%")
fichier incrAdrIP.bat
---------- couper ici ----------
@echo off
set adrIP=%1
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D+1
)
set adresse=%A1%.%A2%
---------- couper ici ----------
NB: je suppose que l'on n'a pas atteint "255" (tu peux ajouter un test
d'erreur si besoin est)
:RESERVE
....
echo 4 : Incrémenter cette adresse automatiquement
....
set /P confnetúites votre choix (1-4):
for %%r in (1 2 3 4) do if %confnet%==%%r goto option%%r
echo Option invalide
Goto Erreur
:option1
goto EDIT
:option2
goto %CHOIX%
:option3
goto EXIT
:option4
call incrAdrIP.bat %adresse%
goto .....
Par ailleurs, j'ai vu que dans ton script il t'arrivait de souvent tester
fois une variable, suivant qu'elle est en minuscule ou majuscule
p.ex. :
if %reponse%==c goto MENU
if %reponse%==C goto MENU
Tu peux simplifer cela en UN SEUL test :
if /I %reponse%==c goto MENU
le commutateur "/I" signifie "Ignore" (la casse)
Egalement, tu peux alléger le script ici :
for %%r in (A a) do if %confnet%==%%r goto CHOIX_A
for %%r in (B b) do if %confnet%==%%r goto CHOIX_B
for %%r in (C c) do if %confnet%==%%r goto CHOIX_C
for %%r in (D d) do if %confnet%==%%r goto CHOIX_D
for %%r in (E e) do if %confnet%==%%r goto CHOIX_E
for %%r in (F f) do if %confnet%==%%r goto CHOIX_F
for %%r in (I i) do if %confnet%==%%r goto INFO
for %%r in (T t) do if %confnet%==%%r goto TCP
...
Dans ces cas là, j'écris ceci :
for %%r in (A B C D E F I T) do if /i %confnet%==%%r goto %%r
echo Option invalide
pause
goto Menu
:A
...
...
:B
...
..
:C
...
:I
...
:T
...
Enfin, dans les tests "if", je te signale que tu peux GROUPER des
:
1) Soit par des "&" (comme dans les shells UNIX) :
if %machin%==truc action1 & action2 & set toto=bidule & call truc.bat
2) Soit à l'aide de bloc de parenthèses :
if %machin%==truc (
action1
action2
set toto=bidule
call truc.bat
)
Cela permet d'alléger considérablement les batchs.
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Super merci !
Grace à vos explications, cela fonctionne parfaitement :o)
Et comme suggéré, je test si le dernier bloc de l'adresse IP "D"
(A.B.C.D) n'à pas atteint la valeur 254, si tel est le cas,
j'incrémente alors le bloc "C" de +1, comme ceci:
(En précisant que "D" ne doit pas dépasser 254 et "C" 255)
------------------------------------------------------------
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D
)
echo %A2%>%TEMP%classec.txt
find "254" %TEMP%classec.txt > nul
if %ERRORLEVEL%==0 goto PLAGE
[...]
Super merci !
Grace à vos explications, cela fonctionne parfaitement :o)
Et comme suggéré, je test si le dernier bloc de l'adresse IP "D"
(A.B.C.D) n'à pas atteint la valeur 254, si tel est le cas,
j'incrémente alors le bloc "C" de +1, comme ceci:
(En précisant que "D" ne doit pas dépasser 254 et "C" 255)
------------------------------------------------------------
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D
)
echo %A2%>%TEMP%classec.txt
find "254" %TEMP%classec.txt > nul
if %ERRORLEVEL%==0 goto PLAGE
[...]
Super merci !
Grace à vos explications, cela fonctionne parfaitement :o)
Et comme suggéré, je test si le dernier bloc de l'adresse IP "D"
(A.B.C.D) n'à pas atteint la valeur 254, si tel est le cas,
j'incrémente alors le bloc "C" de +1, comme ceci:
(En précisant que "D" ne doit pas dépasser 254 et "C" 255)
------------------------------------------------------------
for /F "tokens=1-4 delims=." %%A in ("%adresse%") do (
set A1=%%A.%%B.%%C
set /A A2=%%D
)
echo %A2%>%TEMP%classec.txt
find "254" %TEMP%classec.txt > nul
if %ERRORLEVEL%==0 goto PLAGE
[...]
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant
le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau.
Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant
le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau.
Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent
Bonjour,
Quelqu'un pourrait-il me dire s'il est possible, via un batch, de
modifier une adresse IP définie dans une variable en incrémentant
le
dernier bloc de +1 ?
Je bidouille un script qui me permet d'appliquer une config Ip
automatique, seulement, avant d'affecter l'adresse IP à la carte, je
vérifie si cette adresse n'est pas utilisée sur le réseau.
Si elle
l'est, je lance "edit" pour modifier ce parametre dans le batch et il
faut bien sur redemarrer le script ... c'est plus automatique :o(
http://www.moreau-fr.net/reseau/script/batch/ip_conf_1.html
Je me disais qu'il y avait peut-être un moyen pour faire cela
de manière plus propre.
Sinon, existe t-il un équivalent de "read" ?
Je pourrais alors demander d'entrer une nouvelle adresse et recommencer
mon test.
Toute suggestion sera la bienvenue.
Cordialement,
Laurent