Page 1 sur 1

IP fixe ou dynamique dans une variable DOS ?

Posté : 23 sept. 2009 09:21
par irt
Bonjour,

Savoir si une IP est fixe ou dynamique et mettre le résultat dans une variable DOS !

Connaitre son IP sous DOS et la mettre dans une variable est simple:
for /f "tokens=3 " %%I IN ('ping -n 1 %COMPUTERNAME% ^| find /I "R‚ponse"') DO SET IP=%%I
set IP=%IP:~0,-2%


Afficher à l'écran le statut de la connexion est simple aussi:
ipconfig /all

Mais mettre la valeur situé au bout de la ligne: DHCP activé. . . . . . . . . . . : Oui (ici "Oui" )
Situé 2 lignes plus haut que l'adresse IP (dans le retour de la commande ipconfig /all).

Et tout cela en batch DOS...
Là je sèche...
Alors, à votre bon code... heu.. je voulais dire à votre bon coeur ! ;)

Merci d'avance.

Cordialement,
irt.

Re: IP fixe ou dynamique dans une variable DOS ?

Posté : 23 sept. 2009 18:26
par Bigfish
Salut,

essai ce qui suit :

@echo off

rem recherche de l'adresse IP
for /f "tokens=3 " %%i in ('ping -n 1 %COMPUTERNAME% ^| findstr /I "r.ponse"') do SET IP=%%i
if not "%IP%"=="" set IP=%IP:~0,-2%

rem recherche de la ligne
for /f "tokens=1 delims=:" %%i in ('ipconfig /all ^| findstr /i /n ad.*%ip%') do set /a numligne=%%i-3

rem recuperation de l'etat qui ce trouve maintenant sur la premiere ligne afficher
for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| more +%numligne%') do call :reponse %%i

echo DHCP Active : %EtatDHCP:~0,3%
pause > nul
exit

:reponse
set EtatDHCP=%EtatDHCP%%1

A+