Интерпретаторы по умолчанию от Microsoft сделаны таким образом, что они выходят, когда достигают EOF. Если rake - это другой пакетный файл, интерпретатор команд переключается на него и завершает работу после завершения интерпретации rake. Чтобы предотвратить это, напишите:
@echo off
cls
call rake
pause
ИМХО, оператор вызова запустит другой экземпляр intepretator, тем самым предотвращая переключение текущего интерпретатора на другой входной файл.