Batch, nom de fichier dans une variable

Fermé
kao - 8 juil. 2008 à 14:32
 kao - 8 juil. 2008 à 16:19
Bonjour,

Je débute en batch et en programmation et cherche à progresser en développant un script d'installation de logiciel

Au travail quand on déploie un nouveau poste, on installe une série de logiciel : vlc, quicktime, flashplayer etc...
On en a une dizaine de Soft différents à installer selon les postes.
Afin de systématiser la tache je souhaite créé un script batch avec un sélecteur de logiciel du genre:

Taper 1 pour installer VLC
Taper 2 pour installer Acrobat reader
etc...

Jusque la rien d'insurmontable pour moi

setlocal enabledelayedexpansion

echo 1 Vlc
echo 2 Quicktime
echo 3 7-zip


:Question
set /p logiciel=Quel logiciel veux tu installer?
pause

if "%logiciel%"=="1" (cd vlc & start /W vlcwin32.exe
				)
if "%logiciel%"=="2" (cd quicktime & start /W quicktimeinstaller.exe
				)
if "%logiciel%"=="3" (cd 7-zip & start /W 7-zip.msi
				)

else (echo Veuillez rentrer un chiffre correspond a l'application de votre choix & goto Question)

echo
pause


Maintenant j'aimerai corser un peu la chose:

J'aimerai que le script scanne le dossier de chaque appli et rentre le nom de l'installeur qu'il trouve dans une variable.
mais je n'arrive pas à affecter le résultat d'une fonction à une variable.

Je cherche un truc dans le genre
LogicielVLC = " cd dossierVLC & DIR *.exe"

Merci par avance
A voir également:

1 réponse

Bon j'ai résolu m'a petite affaire avec FOR
@echo off
setlocal enabledelayedexpansion


rem se placer dans le dossier

cd C:\Sources


rem Création d'une liste

:liste
echo ..
echo Taper 1 pour installer Vlc
echo Taper 2 pour installer Quicktime
echo Taper 3 pour installer 7-zip
echo ..


rem Le sélecteur

:Question
set /p logiciel=Quel logiciel veux tu installer?
pause

rem choix du logiciel-- deplacement dans son dossier  et lancement de la procédure d'installation

if "%logiciel%"=="1" (cd vlc & goto installation
				)
if "%logiciel%"=="2" (cd quicktime & goto installation
				)
if "%logiciel%"=="3" (cd 7-zip & goto installationMSI
				)
else (echo Veuillez rentrer un chiffre correspond a l'application de votre choix & goto Question)


rem Procédure d'installation pour .exe

:installation
FOR /R %%i in ( dir *.exe ) do set log=%%i
start /W %log% 
goto liste


rem Procédure d'installation pour .msi

:installationMSI
FOR /R %%i in ( dir *.msi ) do set log=%%i
start /W %log%
goto liste

echo
pause


A+
1