IP fixe ou dynamique dans une variable DOS ?

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
irt
Batcheur occasionnel
Messages : 2
Enregistré le : 23 sept. 2009 09:17

IP fixe ou dynamique dans une variable DOS ?

Message 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.
Bigfish
Batcheur débutant
Messages : 26
Enregistré le : 08 août 2008 18:46

Re: IP fixe ou dynamique dans une variable DOS ?

Message 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+
Répondre