En effet, il est parfois nécessaire de retrouver un serveur ou un routeur précis à partir du N°IP reçu dynamiquement par DHCP. Le script suivant permet de réaliser cela sans développement particulier (il peut être amélioré, bien entendu).
@Echo off ipconfig |find /I "adresse" |Find /I "IP" >%TEMP%\ip.txt for /F "delims=: tokens=2 " %%i in (%TEMP%\ip.txt) do set noip=%%i set noip=%noip: =% for /F "delims=. tokens=1,1,1-4 " %%i in ('ECHO %noip%') do ( set NONET=%%i.%%j.%%k set NOIP=%%l ) DEL %TEMP%\ip.txt echo RESEAU %NONET% echo IP %NOIP% |
La commande FOR permet de réaliser de nombreux traitement sur les fichiers, et même le résultat d’une commande du système (comme sous Unix).
La 2ème commande FOR permet de définir 4 variables (i,j,k,l), chacune contenant une des valeurs de l’adresse IP. Le point sert de délimiteur logique.
La variable NONET recevra la partie réseau en fonction des variables que vous aurez choisi. La variable NOIP recevra le reste des variables.
En cas de réseau « complexe », il sera nécessaire de lire le masque réseau afin de découper de manière adéquate et automatique les 2 parties de l’adresse IP.
A noter que ce script ne prendra en compte qu’une seule carte réseau !