Лучшим решением является код Карла Петерсона (http://vb.mvps.org/samples/Console/), который содержит полный исходный код, интерактивную отладку, несколько примеров и множество других замечательных функций. Нет необходимости в скриптах.
Но если вы создаете EXE-файл (и вы обязательно это сделаете!), абсолютно необходимо исправить результирующего EXE-файла (объяснение и руководство находятся на той же странице Петерсона), т.е. установить бит PE в заголовке EXE.
В противном случае, если в EXE есть какое-либо ожидание ввода, EXE войдет в бесконечный цикл и никогда не вернется (но в командной строке это выглядит как завершенное, потому что отображается приглашение). Если вы попытаетесь запустить EXE несколько раз, вы увидите, что эти бесконечные процессы заполняются в Диспетчере задач / Процессы).