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 に答える