Как выйти из командного файла из функции?

У меня есть простая функция, написанная для проверки каталогов:

:direxist
if not exist %~1 (
    echo %~1 could not be found, check to make sure your location is correct.
    goto:end
    ) else (
    echo %~1 is a real directory
    goto:eof
    )

:end записывается как

:end
endlocal

Я не понимаю, почему программа не останавливается после вызова goto:end. У меня есть другая функция, которая использует тот же метод для остановки программы, и она работает нормально.

:PRINT_USAGE
echo Usage:
echo ------
echo <file usage information>
goto:end

В В этом случае программа останавливается после вызова :end, почему это не работает в :direxist? Спасибо за помощь!

14
задан Brad Conyers 10 May 2012 в 13:21
поделиться