Script de récupération d'adresse IP

Fermé
Aminata1 - 10 mars 2021 à 14:47
 Aminata1 - 10 mars 2021 à 19:59
Bonjour,

Je travaille actuellement sur un projet de déploiement et pour me faciliter la tâche j'ai essayé de mettre en place un script.

Ce script devrait récupérer l'adresse IP du terminal et en fonction de celle-ci faire une comparaison avec les variables que j'ai prédéfinies plus haut dans le script.

Ainsi en fonction de l'adresse du terminal, il doit aller chercher un fichier dans un dossier spécifique (sur le serveur) et le copier en local.

Cependant ça ne marche pas vraiment. Je récupère bien l'adresse IP du terminal que je stocke dans une variable "Local_IP" mais j'ai l'impression que ça capote au niveau de la comparaison.

Voici le code :

echo off

Rem attribution de valeurs aux variables - Correlation entre @IP et nom court de site
set "adresseFRSAV=10.12.113"
set "adresseFRLON=10.4.110"
set "adresseFROUS=10.11.110"

rem Recuperation de l'adresse IP dans une variable
for /F "tokens=15-17 delims=:." %%i in ('"ipconfig^| findstr IPv4 | more +1"') do SET LOCAL_IP=%%i.%%j.%%k && echo %LOCAL_IP:~1%

rem Comparaison entre l'adresse IP et les valeurs des variables adresseFRLON - adresseFRSAV et adresseFROUS
if "%LOCAL_IP%"=="%adresseFRSAV%" goto :0
if "%LOCAL_IP%"=="%adresseFRLON%" goto :1
if "%LOCAL_IP%"=="%adresseFROUS%" goto :2


:0
xcopy \\demeesap0852\A3I\TAHO_CONFIG\FRSAV\%COMPUTERNAME%\TAHO.INI D:\A3I\ /Y
rem pause > nul
goto :end

:1
xcopy \\demeesap0852\A3I\TAHO_CONFIG\FRLON\%COMPUTERNAME%\TAHO.INI D:\A3I\ /Y
rem pause > nul
goto :end


:2
xcopy \\demeesap0852\A3I\TAHO_CONFIG\FROUS\%COMPUTERNAME%\TAHO.INI D:\A3I\ /Y
rem pause > nul
goto :end

:end
rem pause

Pourriez-vous m'aider svp à trouver mon erreur ? Je compte vraiment sur vous.

Merci !

Cordialement

2 réponses

barnabe0057 Messages postés 14452 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 3 août 2024 4 917
Modifié le 10 mars 2021 à 15:16
Bonjour,

Quand tu postes du code merci d'utiliser les balises de code :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Essaie ceci pour récupérer ton adresse ip :
rem Recuperation de l'adresse IP dans une variable
for /f "tokens=2 delims=[]" %%A in ('ping %COMPUTERNAME% -4 -n 1 ^| findstr /C:"%COMPUTERNAME%"') do set "LOCAL_IP=%%A" & echo %LOCAL_IP%


0
barnabe0057 Messages postés 14452 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 3 août 2024 4 917
Modifié le 10 mars 2021 à 18:54
En optimisant le reste du script ça donnerait ça :

echo off
setlocal enableextensions enabledelayedexpansion

Rem attribution de valeurs aux variables - Correlation entre @IP et nom court de site
set "FRSAV=10.12.113"
set "FRLON=10.4.110"
set "FROUS=10.11.110"

rem Recuperation de l'adresse IP dans une variable
for /f "tokens=2 delims=[]" %%A in ('ping %COMPUTERNAME% -4 -n 1 ^| findstr /C:"%COMPUTERNAME%"') do set "LOCAL_IP=%%A" & echo.!LOCAL_IP!

rem Comparaison entre l'adresse IP et les valeurs des variables FRLON - FRSAV et FROUS
for %%E in (FRSAV FRLON FROUS) do if "%LOCAL_IP%"=="!%%~E!" (call :copie %%E)

pause
exit

:copie
xcopy \\demeesap0852\A3I\TAHO_CONFIG\%1\%COMPUTERNAME%\TAHO.INI D:\A3I\ /Y
rem pause > nul
goto :eof
0
Bonsoir,

D'accord pas de soucis concernant l'utilisation des balises :) .

Merci beaucoup pour vos réponses.

J'ai trouvé mon erreur : Il n'y a que la première condition "if" qui est prise en compte dans le script. Raison pour laquelle ça ne marchait sur qu'un seul de mes sites.

Je vais le modifier en fonction de vos réponses et vite vous faire retour.

Merci à vous !!!!
0