Пакетные файлы выполняются интерпретируемой оболочкой (в Windows это cmd.exe
). Оболочка считывает каждую строку файла, начиная с верхней части, и выполняет строку как команду, как если бы вы ввели ее в командную строку.
Существуют исключения, такие как команда goto
, которая не имеет смысла, если вы набираете ее в командной строке, но имеет место при выполнении в командном файле. Увидев команду goto
, оболочка вернется к началу файла и прочитает каждую строку по очереди, пока не найдет метку, указанную в goto
. Затем он начинает выполняться оттуда.
Вышеприведенный метод интерпретируется , а не скомпилирован , поэтому он намного менее эффективен при выполнении, чем скомпилированный язык, такой как C ++. Я бы никогда не назвал командные файлы «чрезвычайно эффективными». Может быть "чрезвычайно в эффективном".