Sélection multiples dans .bat
Bonjour à toutes et à tous.
Je viens vers vous aujourd'hui pour une question concernant la possibilité de faire des choix multiples dans un batch.
J'ai un script .bat qui installe des logiciels à la suite en silent install.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| @echo off
color b
echo ~~~~INSTALLATION LOGICIELS~~~~
echo ~## 7ZIP ##~
msiexec /i "C:\ConfigPC\Soft\7Zip\7z1900.msi" /quiet
echo ~## ACROBAT READER DC ##~
msiexec /i "C:\ConfigPC\Soft\AcrobatDC\AcroRead.msi" /quiet
echo ~## CCLEANER ##~
start /w C:\ConfigPC\Soft\Ccleaner\Ccleaner565.exe /S
copy "C:\ConfigPC\Soft\Ccleaner\ccleaner.ini" "C:\Program Files\CCleaner"
echo ~## DOTNET3.5 ##~
dism /online /enable-feature /featurename:NetFX3 /All /Source:C:\ConfigPC\Soft\DotNet /LimitAccess
echo ~## GOOGLE CHROME ##~
msiexec /i "C:\ConfigPC\Soft\Chrome\Chrome81.msi" /qn
echo ~## MOZILLA FIREFOX ##~
start /w C:\ConfigPC\Soft\Firefox\Firefox75.exe /s
echo ~## JAVA ##~
start /w C:\ConfigPC\Soft\Java\Java8u251.exe /s
echo ~## NOTEPAD++ ##~
start /w C:\ConfigPC\Soft\NotePad++\NotePad++785.exe /S
echo ~## SKYPE ##~
start /w C:\ConfigPC\Soft\Skype\Skype_858098.exe /VERYSILENT /SP- /NOCANCEL /NORESTART /SUPPRESSMSGBOXES /NOLAUNCH
taskkill /f /IM Skype.exe
echo ~## VLC ##~
start /w C:\ConfigPC\Soft\VLC\VLC308.exe /S |
Je souhaite que l'on puisse, soit installer la totalité des softs, soit certains via une sélection.
J'ai trouvé un exemple de .bat que j'ai modifié pour qu'il corresponde aux logiciels.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| @ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
REM Initialize
FOR /L %%I IN (1,1,25) DO SET ITEM%%I=[ ]
:Boucle
CALL :MenuSoftware
CALL :Valeur
IF /I "%WhichItem%"=="Q" GOTO :EOF
IF /I "%WhichItem%"=="R" GOTO RunOptions
FOR /L %%I IN (1,1,25) DO IF "%%I"=="%WhichItem%" (
IF "!Item%WhichItem%!"=="[X]" (
SET Item%WhichItem%=[ ]
) ELSE (
SET Item%WhichItem%=[X]
)
)
GOTO Boucle
:RunOptions
REM Remove the ECHO from the next line to actually run the files.
FOR /L %%I IN (1,1,25) DO IF "!Item%%I!"=="[X]" type %%I.BAT >> TEST_Menu1.bat
call C:\TEST_Menu1.bat && exit
GOTO :EOF
:MenuSoftware
CLS
ECHO Choisissez les logiciels que vous souhaitez installer :
ECHO.
ECHO %ITEM1% 01. Tous les logiciels
ECHO %ITEM2% 02. 7Zip
ECHO %ITEM3% 03. Acrobat Reader DC
ECHO %ITEM4% 04. Ccleaner
ECHO %ITEM5% 05. Google Chrome
ECHO %ITEM6% 06. DotNet_3.5
ECHO %ITEM7% 07. Edge Chromium
ECHO %ITEM8% 08. Mozilla Firefox
ECHO %ITEM9% 09. Java
ECHO %ITEM10% 10. Lenovo System Update
ECHO %ITEM11% 11. NotePad++
ECHO %ITEM12% 12. Skype
ECHO %ITEM13% 13. VLC
ECHO.
ECHO Taper Q pour Quitter
ECHO Taper R pour lancer l'installation
GOTO :EOF
:Valeur
ECHO.
REM The next line has a single trailing space
SET /P WhichItem=Faites votre choix et appuyer sur ENTER :
GOTO :EOF |
Cependant, je ne vois pas comment faire pour que l'installation se lance avec les bons logiciels sélectionnés.
Dois-je modifier le script initial (installation logiciels) ?
Dois-je créer des scripts différents pour l'installation de chaque logiciel ?
J'ai vraiment essayé de trouver par mes propres moyens mais là je sèche complétement.
J'espère avoir assez clair...
Merci d'avance pour votre aide.