Bonjour a tous.
je cherche a faire un batch comme ceci (le resultat devant etre logiciel XXX dans un fichier texte)
rem alimantation de mes variables par une liste.txt de logiciels comme ceci:
1=xxx
2=xxx
...
For /f "tokens=*" %%a In (liste_logiciels.txt) do set %%a
:choix
set /P choix=Indiquez le code d'un logiciel a ajoute:
echo %choix% >> logiciels.tmp (rem si je pouvait je m'arreterais ici avec un .txt mais je n'obtient pas le resultat)
:ajoutlog
SET /P choix=Voulez-vous ajouter d'autre logiciels? (Y/N):
if /I %choix%==Y goto choix
if /I %choix%==N goto suite
) else (
echo Erreur d'entree, veuillez saisir Y ou N
pause
goto ajoutlog
:suite
For /f "tokens=*" %%b In (logiciels.tmp) do echo %%b > logiciels.txt
pause
Je ne peux malheureusement pas mettre la liste de mes logiciels dans mon script parceque celle ci est sujete a mise a jour constante (il est donc plus facile de partir d'un fichier plat)
Quelqu'un peux m'aider SVP
[Résolu] une variable dans une variable ou une solution
Modérateur : WIN32-[GG]
-
- Batcheur occasionnel
- Messages : 3
- Enregistré le : 15 nov. 2010 23:58
[Résolu] une variable dans une variable ou une solution
Modifié en dernier par jean_michel_199 le 20 nov. 2010 15:40, modifié 1 fois.
-
- Batcheur occasionnel
- Messages : 3
- Enregistré le : 15 nov. 2010 23:58
Re: une variable dans une variable ou une solution svp URGENT
Bon je sais je me repond a moi meme mais ça peux en interesser d'autre.
Mon fichier .csv contient 16 entrée (celui de test, celui de prod contien plus de 300 entrée et est sujet a mise a jours regulière).
#1:Access
#2:Office Std
#3:AutoCAD LT 2011
...
@echo off
:AjoutLogiciels
set AJLOG=#
SET /P AJLOG=Ajouter un logiciels? (Y/N):
if /I %AJLOG%!==Y! goto YAJLOG
if /I %AJLOG%!==N! goto NAJLOG
) else (
echo Erreur d'entree. Veuillez saisir Y ou N
pause
goto AjoutLogiciels
:YAJLOG
set CODLOG=#
SET /P CODLOG=Indiquez le code du logiciel a ajouter ou taper 0 pour "libre":
if %CODLOG%!==#! goto erreur
if %CODLOG% lss 0 goto erreur
if %CODLOG% gtr 16 goto erreur
if %CODLOG%!==0! (goto AJLOGLIBRE
) else (
FOR /f "tokens=2 delims=:" %%a in ('find "#%CODLOG%:" logiciels.csv') do echo IV_TECH.TEC_LOGICIELS=%%a >> Test_AJLOG.csv
goto AjoutLogiciels
)
:erreur
echo Erreur d'entree. Veuillez saisir un chiffre de 1 a 16 ou 0 pour "libre"
pause
goto AjoutLogiciels
:AJLOGLIBRE
set AJLOGLIBRE=#
set /P AJLOGLIBRE=Indiquez un logiciel et ENTER pour enregistrer:
if %AJLOGLIBRE%!==#! (goto ERAJLOGLIBRE
) else (
echo IV_TECH.TEC_LOGICIELS=%AJLOGLIBRE% >> Test_AJLOG.csv
goto AjoutLogiciels
)
:ERAJLOGLIBRE
echo Erreur d'entree.
pause
goto AjoutLogiciels
:NAJLOG
echo Au revoir et bonne journee!
pause
Voila.
Mon fichier .csv contient 16 entrée (celui de test, celui de prod contien plus de 300 entrée et est sujet a mise a jours regulière).
#1:Access
#2:Office Std
#3:AutoCAD LT 2011
...
@echo off
:AjoutLogiciels
set AJLOG=#
SET /P AJLOG=Ajouter un logiciels? (Y/N):
if /I %AJLOG%!==Y! goto YAJLOG
if /I %AJLOG%!==N! goto NAJLOG
) else (
echo Erreur d'entree. Veuillez saisir Y ou N
pause
goto AjoutLogiciels
:YAJLOG
set CODLOG=#
SET /P CODLOG=Indiquez le code du logiciel a ajouter ou taper 0 pour "libre":
if %CODLOG%!==#! goto erreur
if %CODLOG% lss 0 goto erreur
if %CODLOG% gtr 16 goto erreur
if %CODLOG%!==0! (goto AJLOGLIBRE
) else (
FOR /f "tokens=2 delims=:" %%a in ('find "#%CODLOG%:" logiciels.csv') do echo IV_TECH.TEC_LOGICIELS=%%a >> Test_AJLOG.csv
goto AjoutLogiciels
)
:erreur
echo Erreur d'entree. Veuillez saisir un chiffre de 1 a 16 ou 0 pour "libre"
pause
goto AjoutLogiciels
:AJLOGLIBRE
set AJLOGLIBRE=#
set /P AJLOGLIBRE=Indiquez un logiciel et ENTER pour enregistrer:
if %AJLOGLIBRE%!==#! (goto ERAJLOGLIBRE
) else (
echo IV_TECH.TEC_LOGICIELS=%AJLOGLIBRE% >> Test_AJLOG.csv
goto AjoutLogiciels
)
:ERAJLOGLIBRE
echo Erreur d'entree.
pause
goto AjoutLogiciels
:NAJLOG
echo Au revoir et bonne journee!
pause
Voila.