Récupérer son ip, masque et passerelle dans un fichier texte

2016-09-05

windows Hadock 2016-09-05

 

Pour VoiceAttack j'ai eu besoin de mettre au point un script pour concaténer les informations d'ipconfig.

Ipconfig me donne les informations suivante :

Pour les extraire vers un fichier texte "ip1.txt" je lance un fichier .bat avec les commandes suivantes :

@echo off
ipconfig > ip1.txt

 

J'ai maintenant toutes les informations de la commande ipconfig dans un fichier texte; mais je ne veux que l'ip, la passerelle et le masque!

Je vais dont extraire dans un fichier texte "ip2.txt" les informations que j'ai besoin :

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . ip1.txt') do if %%i geq 5 if %%i leq 7 echo %%j >> ip2.txt 
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . ip1.txt') do if %%i geq 9 if %%i leq 11 echo %%j >> ip2.txt

ici le code va lire le fichier ligne par ligne, extraire celle que je lui demande (5 à 7 et 9 à 11) la stocker dans une variable temporaire puis l'extraire vers un fichier texte "ip2.txt".

A ce moment nous nous retrouvons avec un fichier texte comme celui-ci :

Pour l'utilisation du module vocale cela posse problème car la lecture se fera avec embuche à cause des "." des "," et du "carte Ethernet Ethernet" , je vais donc remplacer ces chaines de caractère par d'autres :

:: on remplace les caractéres ", … ." par "ai a ..."

setlocal enabledelayedexpansion

:: on définie le fichier entrant
set FileToCheck=ip2.txt

on définie le fichier sortant
set OutputFile=ip.txt    

if exist "%OutputFile%" del "%OutputFile%"

:: on définie les chaines de caractére à remplacer
for /f "usebackq delims=*" %%T in ("%FileToCheck%") do (

  echo %%T

  Set TempVar=%%T

  set TempVar=!TempVar:‚=ai!      

  set TempVar=!TempVar:…=a!

  set TempVar=!TempVar:.=...!

  set TempVar=!TempVar:Ethernet Ethernet=Ethernet!

  echo !TempVar!>>"%OutputFile%"

  )

ce qui nous donne un fichier texte comme celui-ci :

 

Le script en entier :  (défiler vers le bas pour le télécharger) 

::     *        *     *    *     check ip par Hadock

::    * *      * *   *    * *    ehadock.fr

::   *   *    *   * *    *   *   script pour AnA

::  *     *  *     *    *     *  le 5 septembre 2016

@echo off


:: -----------------------------suppression des anciens fichiers------------------------------

del ip1.txt

del ip2.txt

del ip.txt

:: -------------------------------------------------------------------------------------------



:: -------------------------exécution de la recherche de config ip----------------------------

:: ---------------------------puis copie du résult dans ip1.txt-------------------------------

ipconfig > ip1.txt

:: -------------------------------------------------------------------------------------------



:: ------------------------------on exporte les lignes d'info---------------------------------

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . ip1.txt') do if %%i geq 5 if %%i leq 7 echo %%j >> ip2.txt

for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . ip1.txt') do if %%i geq 9 if %%i leq 11 echo %%j >> ip2.txt

:: -------------------------------------------------------------------------------------------



:: --------------------on remplace les caractéres ", … ." par "ai a ..."----------------------

setlocal enabledelayedexpansion



set FileToCheck=ip2.txt

set OutputFile=ip.txt



if exist "%OutputFile%" del "%OutputFile%"

for /f "usebackq delims=*" %%T in ("%FileToCheck%") do (

  echo %%T

  Set TempVar=%%T

  set TempVar=!TempVar:‚=ai!

  set TempVar=!TempVar:…=a!

  set TempVar=!TempVar:.=...!

  set TempVar=!TempVar:Ethernet Ethernet=Ethernet!

  echo !TempVar!>>"%OutputFile%"

  )

:: ------------------------------------------------------------------------------------------



:: ---------------------------------on del ce qui ne sert a rien-----------------------------

del ip1.txt

del ip2.txt

:: ------------------------------------------------------------------------------------------

:: ------------------------------------------END---------------------------------------------

:: ------------------------------------------------------------------------------------------

exit

 

Télécharger le scrip en .bat