Alors, je suis un débutant dans les scripts batch :)Lot avec IF ELSE et GOTO
Voici mon code:
@echo.
@echo off
Set USER_ADM=LocAdmin
Set pwd=%cd%
Set choix=%1
@echo.
:ch
cls
@echo.
@echo Choisis ce que tu veux ouvrir
@echo.
@echo 1. CMD
@echo 2. Regedit
@echo 3. MMC
@echo.
Set /P choix=Choix du programme a demarrer en %USER_ADM% (1-3) :
@echo off
if '%choix%' =='1' goto :cmd
if '%choix%'=='2' goto :regedit
if '%choix%'=='3' goto :mmc
REM :error
REM @echo %choix% N'est pas un chiffre entre 1 et 3 !
REM goto ch
:cmd
runas /user:%USER_ADM% C:\Windows\SysWOW64\cmd.exe
goto ch
:regedit
runas /user:%USER_ADM% C:\Windows\regedit.exe
goto ch
:mmc
runas /user:%USER_ADM% "mmc %pwd%\MMC\Mymmc.msc"
goto ch
@pause > nul
Je voudrais avoir un message si j'entre autre chose que 1 , 2 ou 3. J'ai essayé plusieurs choses avec "else" et goto error mais rien n'a fonctionné ...
Quelqu'un peut-il aider? Merci d'avance!
il suffit d'insérer le code après 'si '%% choix' == '3 'goto: mmc', comme 'echo wrong input' et' goto: ch' – Stephan
Note: votre syntaxe '' 'fonctionne avec' if', mais vous devriez utiliser '' 'pour éviter diverses erreurs de syntaxe. intéressé par la commande [choice] (https://ss64.com/nt/choice.html) (qui fait son propre errorhandling, ne permettant que les clés définies) – Stephan
Vous avez inséré des instructions 'rem' devant les trois lignes qui traitent avec la situation "autre chose", ** MAIS ** puisque vous avez e a 'goto ch', la commande suivante est' cls' qui supprimera le message. Insérer une instruction 'PAUSE' avant le' goto ch'. – Magoo