Bonsoir la cie,

C'est la première fois que je viens dans cette partie du forum, mais je sèche sur un petit bout de script dans un batch.
Je dois détecter si la carte Ethernet est connectée afin de par la suite pouvoir modifier les IP, soit de la carte Ethernet, soit de la carte WiFi.

Le but est de pouvoir switcher de la connexion internet standard (VOO) vers un modem LTE en pont sur les PC du réseau (Câblés ou Wifi).

Je parviens à détecter :
- L'IP en DHCP de VOO
- De détecter si le modem LTE est bien allumé et ne faire le switch qu'alors
- De modifier les paramètres de connexion avec netsh ... pour l'instant fixé Ethernet

Le principe est simple, si un câble RJ45 est connecté, je modifie la carte Ethernet, autrement c'est Wifi (par défaut).

Voici le bout de script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
REM ********** Détetion carte LAN active
set "$carte=Wi-Fi"
For /f "tokens=2,* delims=:[]" %%a in ('netsh interface show interface name="Ethernet" ^| FINDSTR "Connecté"') do (
  set "$carte=Ethernet"
)
echo %$carte%
pause
J'ai déjà modifié les paramètres tokens, delims, ajouté skip=1, find et findstr ...
Je ne trouve rien sur le net à ce sujet 🤔

netsh interface show interface name="Ethernet" me donne ceci ... RJ45 bien connecté, mais je reste en Wifi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Ethernet
   Type*:                 Dédié
   État d'administration*: Activé
   État de connexion*:        Connecté
C'est probablement l'espace entre les " : et Connecté " qui pose problème !?
Je parviens à trouver l'IP de mon réseau avec ipconfig ... je ne comprend vraiment pas pourquoi ici

Toute aide est la bienvenue

@+
ddaweb