Adresse IP sous variables

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
neoboss
Batcheur débutant
Messages : 11
Enregistré le : 10 déc. 2008 12:44

Adresse IP sous variables

Message par neoboss »

Bonjour,
je voudrais savoir si il existe une variable pour afficher l'adresse IP du poste sur lequel la commande est exécutée. J'ai créé un batch qui peut être exécuté sur différents pc, donc l'adresse IP change constamment. Dans mon batch j'ai besoin de l'adresse IP de la machine. Connaissez vous un moyen d'obtenir celle-ci ?
Merci !
neoboss
Batcheur débutant
Messages : 11
Enregistré le : 10 déc. 2008 12:44

Re: Adresse IP sous variables

Message par neoboss »

Je connais déjà la commande " ipconfig | find "Adresse IP" ", le soucis c'est que la reponse est:

" Adresse IP. . . . . . . . .á. . . : 192.168.0.** "
Je ne voudrais que l'adresse IP, pas le texte qui précède l'adresse IP...
Merci !
neoboss
Batcheur débutant
Messages : 11
Enregistré le : 10 déc. 2008 12:44

Re: Adresse IP sous variables

Message par neoboss »

J'ai trouvé !
Pour ceux que ça intéresse :

Code : Tout sélectionner

@echo off
ipconfig|find "Adresse IP" > monip.txt
set /p ip= < monip.txt
set ip=%ip:~44%
echo %ip%
pause >NUL
del monip.txt
Batch_Man
King Of Batch
Messages : 64
Enregistré le : 09 janv. 2009 00:01

Re: Adresse IP sous variables

Message par Batch_Man »

Bonjour,

Encore mieux

Code : Tout sélectionner

@echo off

For /f "tokens=14" %%a in ('ipconfig ^| Find "Adresse IP"') do set ip=%%a
     echo %ip%

pause
Batch_Man
irt
Batcheur occasionnel
Messages : 2
Enregistré le : 23 sept. 2009 09:17

Re: Adresse IP sous variables

Message par irt »

Bonjour,

Attention au fait qu'il existe peut-être plusieurs adresses IP ! (double carte réseau, wifi, etc...) une autre technique est de se pinguer soit même:

Code : Tout sélectionner

for /f "tokens=3 " %%I IN ('ping -n 1 %COMPUTERNAME% ^| find /I "R‚ponse"') DO SET IP=%%I 
set IP=%IP:~0,-2% 
 
Avec " -n 1 " le ping ne se fait qu'une seule fois, c'est plus rapide que " ipconfig /all ".

Cordialement,
irt.
Répondre