0
所以,我在批处理脚本:)初学者批与IF ELSE和GOTO
这里是我的代码:
@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
我想,如果我进入1以外的任何东西都有一个消息,2或3. 我尝试了几件事情与“其他”和转到错误,但没有工作...
有人可以帮忙吗? 在此先感谢!
只是如果“%喜爱将%”后'插入代码=='3 'goto:mmc',像'echo wrong input'和'goto:ch' – Stephan
注意:你的'''语法和'if'一起工作,但是你最好使用'''来防止各种语法错误。对[choice](https://ss64.com/nt/choice.html)命令感兴趣(这是它自己的错误处理,只允许定义的键) – Stephan
您已经在交易的三条线的前面插入了'rem'语句与“其他”情况,**但**,因为你hav e goto ch',下一个命令是'cls',它将删除该消息。在goto ch之前插入'PAUSE'语句。 – Magoo