1

由于我是编写批处理文件的初学者,因此我编写了以下程序:

::SET a=1
SET b=2
::SET c=3

IF EXIST %a% GOTO aa
IF EXIST %b% GOTO bb
IF EXIST %c% GOTO cc

:aa
ECHO aa
GOTO end

:bb
ECHO bb
GOTO end

:cc
ECHO cc
GOTO end

:end
ECHO end

pause > nul

我希望它打印出来

SET b=2

IF EXIST GOTO aa    
IF EXIST 2 GOTO bb

ECHO bb
end

但相反的是

SET b=2

IF EXIST GOTO aa    
IF EXIST 2 GOTO bb   rem it recognized b=2.. 
IF EXIST GOTO cc

ECHO aa              rem ..but did not used the GOTO path!
end

什么地方出了错?我怎样才能控制输入:bb而不是:aa

4

1 回答 1

2

您可以使用defined代码:

@echo off

::SET a=1
SET b=2
::SET c=3

IF defined a GOTO aa
IF defined b GOTO bb
IF defined c GOTO cc

:aa
ECHO aa
GOTO end

:bb
ECHO bb
GOTO end

:cc
ECHO cc
GOTO end

:end
ECHO end

pause > nul
exit
于 2013-09-13T14:00:47.157 回答