0

非常に単純なバッチ スクリプトがあります。

@echo off

if %1 == a goto AA
if %1 == b goto BB
goto end

:AA
echo a
goto end

:BB
echo b
goto end

:END
echo on

引数を指定して呼び出すと、期待どおりの結果が得test.bat aられますが、引数を指定せずに呼び出すと、問題の行はになります。test.batgoto was unexpected at this time.if %1 == a goto AA

なんで?

4

2 に答える 2

2

引数がない場合は この行if %1 == a goto AAになります。if == a goto AA

使用するif .%1 == .a goto AAと、行は引数なしになり、ウィンドウは と の間にif . == .a goto AA何もないというエラーをスローしませんif==

于 2012-08-15T20:41:58.537 に答える
2

各比較では、変数と値の両方を引用符で囲みます。

if "%1" == "a" goto AA
if "%1" == "b" goto BB
goto end
于 2012-08-15T20:45:58.470 に答える