Page 1 sur 1
[Résolu] Initialiser une variable a partir d'un fichier .INI
Posté : 29 mars 2008 23:18
par Invité
Bonjour,
Comment initialiser une variable a partir d'un fichier .INI ?
Exemple:
_VariableMcd.ini
[Nom de la base de données]
DATABASE=XXXXXX
[Nom du serveur SQL]
SQLSERVER=YYYYYYYY
..........................
Script.bat
Code : Tout sélectionner
find "DATABASE" _VariableMcd.ini >tmp1.tmp
for /f "eol=- tokens=2 delims==" %%V in (tmp1.tmp) do (echo %%V >tmp2.tmp)
set VAR=(type tmp2.tmp) /// NE MARCHE PAS ///
Comment initialiser VAR au contenu de tmp2.tmp ?
Re: Initialiser une variable a partir d'un fichier .INI
Posté : 29 mars 2008 23:44
par flox
Bonjour,
voila une solution:
Code : Tout sélectionner
@echo off
more variablemcd.ini | find "DATABASE" > var.tmp
setlocal enableDelayedExpansion
for /f "tokens=2 delims==" %%a in (var.tmp) do (
set VAR=%%a
echo !VAR!
)
endlocal
del var.tmp
pause
Dis moi si c'est bien ce que tu veut
Merci
Re: Initialiser une variable a partir d'un fichier .INI
Posté : 30 mars 2008 00:56
par Invité
J'ai fait ceci. Ca marche. C'est ce que je voulais.
Merci de votre aide.
Question subsidiaire.
Pourquoi la commande more redirigée dans le find plutot qu'un find avec le fichier d'entrée ?
Encore merci.
Code : Tout sélectionner
@echo off
setlocal enableDelayedExpansion
more VariableMCD.ini | find "DATABASE" > var.tmp
for /f "tokens=2 delims==" %%v in (var.tmp) do (set TMP=%%v)
set DATABASE=!TMP!
more VariableMCD.ini | find "SQLSERVER" > var.tmp
for /f "tokens=2 delims==" %%v in (var.tmp) do (set TMP=%%v)
set SQLSERVER=!TMP!
more VariableMCD.ini | find "REPMCD" > var.tmp
for /f "tokens=2 delims==" %%v in (var.tmp) do (set TMP=%%v)
set REPMCD=!TMP!
echo DATABASE = %DATABASE%
echo SQLSERVER = %SQLSERVER%
echo REPMCD = %REPMCD%
endlocal
pause
del var.tmp
Re: Initialiser une variable a partir d'un fichier .INI
Posté : 12 avr. 2008 11:04
par flox
Pour le more, sa n'a aucun intérêt de plus que de plus que sans redirection
C'est juste une autre façon de l'écrire
@+