Script de récupération d'adresse IP

Aminata1 -  
 Aminata1 -
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

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      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
  2. Aminata1
     
    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