Batch, nom de fichier dans une variable

kao -  
 kao -
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
Configuration: Windows XP
Firefox 3.0

1 réponse

  1. kao
     
    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