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.
IP fixe ou dynamique dans une variable DOS ?
Modérateur : WIN32-[GG]
Re: IP fixe ou dynamique dans une variable DOS ?
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+
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+