:eof
- ссылка на конец файла, виртуальная метка (не обязательно должна быть определена), где можно перейти к концу текущего контекста пакета.
goto
является команда используется для перехода (прерывать текущий поток и продолжить в другом названном пункте) к метке
goto :eof
является переход к концу файла
errorlevel
это имя переменная, которая содержит код выхода последней выполненной команды (если она ее устанавливает)
Если вы хотите получить значение внутри этой переменной, вы используете %errorlevel%
.
Но, как и в пакетных файлах, переменные заменяются на значение во время разбора (пожалуйста, прочитайте here), иногда необходимо указать синтаксическому анализатору, что это не должно быть сделано, и используется синтаксис с задержкой расширения, поэтому переменная операции чтения не заменяются до момента выполнения команды. Синтаксис для указания этого анализатора равен !errorlevel!
с включенным задержанным расширением (setlocal enabledelayedexpansion
).
Большое спасибо, теперь ясно для меня! И спасибо за ссылку. – Clam