Un peu de batch, ça faisait longtemps.
Récupérer l'adresse IP d'un ordinateur est utile : pour l'inscrire dans un log ou l'utiliser avec des conditions... Voyons comment.
Pour Windows 7 et 10
Cela tient en une ligne :
for /F "tokens=16" %i in ('"ipconfig | findstr IPv4"') do echo %i
Et avec récupération dans une variable :
for /F "tokens=16" %i in ('"ipconfig | findstr IPv4"') do SET LOCAL_IP=%i && echo %LOCAL_IP%
Attention cette ligne fonctionne si la langue de la machine est le français.
Avec un Windows anglais utiliser celle-ci :
for /F "tokens=14" %i in ('"ipconfig | findstr IPv4"') do SET LOCAL_IP=%i && echo %LOCAL_IP% for /F "tokens=14" %i in ('"ipconfig | findstr IPv4"') do SET LOCAL_IP=%i && echo %LOCAL_IP%
Merci superuser.
Voici un script en complément pour Windows 10 : openclassrooms.
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
11 commentaires
Est-ce que ça donne l'IP externe ou interne ?
@Pascal Bergeron: ça retourne l'IP tout court. Si la machine est dans un LAN ce sera une IP dans une classe privée, si elle est derrière un modem alors l'IP sera publique.
A noter que si on a plusieurs cartes réseau, ça va afficher toutes les adresses IP mais ça ne va mettre que celle de la dernière carte dans la variable d'environnement LOCAL_IP.
@Dric: oui, c'est pour ça que je l'affiche, dans ce cas il suffit de rediriger la sortie vers un fichier 🙂
Bonjour,
ça fonctionne en copié collé dans un cmd et la variable %LOCAL_IP% renvoie bien mon IP local, mais quand je veux l'inclure dans un script (fichier .bat) l’exécution de cette commande ferme mon script, help please??!
exemple:
Cordialement.
@bake: essayez avec cette ligne :
for /F "tokens=16" %%i in ('"ipconfig | findstr IPv4"') do SET LOCAL_IP=%%i && echo %LOCAL_IP%
ah oui merci ça marche!
Bonjour,
Un truc pour afficher une carte réseau spécifique (VPN) au lieu de mon réseau interne (en 192.168.X.X) ?
En choisissant le type de carte si on en a plusieurs.
Ex :
Ethernet Adapter Vmware
ou
Wireless Lan adapter
@skalpa: si tu vois la carte avec ipconfig alors le script relèvera aussi les IP d'autres cartes
for /F "tokens=16" %i in ('"ipconfig | findstr IPv4"') do @echo %i
c'est mieux 😉
@Fricadell: je partais du principe que la ligne est utilisée après
😉