Когда я пишу свой файл .bat в блокноте, какой язык программирования я действительно использую, и кто там его запускает и компилирует?
Это пакетный язык MS Windows.Интерпретируется, а не компилируется
Это Batch-скрипт.
Это его собственная штука, у которой есть корни в DOS.
Никто не "компилирует" Batch-скрипт;cmd.exe интерпретирует ваш код.
cmd.exe
Вы можете читать дальше в Википедии .