Batch file 如何使用批处理在if-else语句中调用程序

Batch file 如何使用批处理在if-else语句中调用程序,batch-file,Batch File,下面的代码允许用户选择是否要打开chrome或Firefox。对于Firefox,选择y;对于chrome,选择n。您可以将输入更改为1或2,或者根据需要进行更改 检查到.exes的路径是否正确 (我的电脑上的路径不同) 您可以通过菜单执行此操作: @Echo关闭 模式60、12和颜色9E 标题开始并打开一个程序 :菜单 CLS 回声。 回音===================================================== 按1、2或3选择任务,或按4退出。 回音====

下面的代码允许用户选择是否要打开chrome或Firefox。对于Firefox,选择y;对于chrome,选择n。您可以将输入更改为1或2,或者根据需要进行更改

检查到.exes的路径是否正确

(我的电脑上的路径不同)


您可以通过菜单执行此操作:

@Echo关闭
模式60、12和颜色9E
标题开始并打开一个程序
:菜单
CLS
回声。
回音=====================================================
按1、2或3选择任务,或按4退出。
回音=====================================================
回声。
ECHO 1-打开Firefox
ECHO 2-开放式镀铬
ECHO 3-打开Internet Explorer
回声4-出口
回声。
设置/P“用户=类型1、2、3或4,然后按ENTER:”
如果“%user%”==“1”转到Firefox
如果“%user%”==“2”转到Chrome
如果“%user%”==“3”转到Internet Explorer
如果“%user%”==“4”转到EOF
转到菜单
:Firefox
启动“Firefox.exe”
转到菜单
:铬
启动“chrome.exe”
转到菜单
:Internet Explorer
启动“iexplore.exe”
转到菜单

您也可以使用choice命令:

@Echo关闭
Echo 1.Firefox
回声2.铬
Echo 3.Internet Explorer
Choice/C 123/M“请选择”
如果错误级别为3(设置“BEP=Internet Explorer\iexplore.exe”
)否则,如果错误级别为2(设置“BEP=Google Chrome\Chrome.exe”
)Else设置“BEP=Mozilla Firefox\Firefox.exe”
如果存在“%ProgramFiles%\%BEP%”启动“%ProgramFiles%\%BEP%”

我希望这能解决您的问题

@echo off
set user=
set /P user=Type input y/n: %=%

pause


if "%user%" == "y" goto mozzila
if "%user%" == "n" goto chrome

:mozzila
cd C:\Program Files\Mozilla Firefox\
firefox.exe
:chrome
cd C:\Program Files\google chrome\
chrome.exe


Pause
当用户输入1时,第一个程序被执行,而第二个程序被执行时,“IF…ELSE…”的正确格式是:


ELSE必须跟在同一行的圆括号后面。

再解释一下你的问题,你会遇到什么错误,你想达到什么目的。如果ELSE语句不能执行,则内部代码实际上我想创建一个批,用户可以从中选择批中的程序。例如,如果用户选择1,则启动firefox.exe;如果用户选择es 2 chrome被执行等等。不,先生,它不工作,如果我输入Y,两个程序都被执行了,那就行了,谢谢,你能解释一下吗code@Lynus请注意,
如果errorlevel 1
表示
一个或更高级别的
,那么如果输入
3
,所有
set
命令都会执行,从而导致启动无论您输入什么,每次都会使用firefox。我建议改用
if%errorlevel%==…
@echo off
set user=
set /P user=Type input y/n: %=%

pause


if "%user%" == "y" goto mozzila
if "%user%" == "n" goto chrome

:mozzila
cd C:\Program Files\Mozilla Firefox\
firefox.exe
:chrome
cd C:\Program Files\google chrome\
chrome.exe


Pause
@echo on

set /P user=Enter number: 

echo You have entered %user%

IF /i "%user%" == "1" goto 1
IF /i "%user%" == "2" goto 2

:1
cd "C:\Program Files\Mozilla Firefox"
start firefox.exe
exit

:2
cd "C:\Program Files\google chrome"
start chrome.exe
exit
IF %user% (

    start "C:\Program Files\Mozilla Firefox\firefox.exe"

) ELSE ( 
    IF %user% (
    start "C:\Program Files\google chrome\chrome.exe"
    ) ELSE ( sth. )
)