как сделать нажмите Enter для выхода в пакетном режиме

Я использую rake для сборки своего проекта, и у меня есть файл build.bat, похожий на этот:

@echo off
cls
rake

Когда я дважды щелкаю по build.bat, всплывает окно dos и показывает весь прогресс, но закрывается, когда задача завершена. Есть ли способ сделать Console.ReadLine, чтобы пользователь мог увидеть журнал?

Спасибо.

Обновлено:

Я пробовал ниже, но не работал. не знаю почему.

@echo off
cls
rake
pause

person Jeff    schedule 22.09.2009    source источник


Ответы (5)


Интерпретаторы по умолчанию от Microsoft сделаны таким образом, что они закрываются, когда достигают EOF. Если rake является другим пакетным файлом, интерпретатор команд переключается на него и завершает работу после завершения интерпретации rake. Чтобы предотвратить это, напишите:

@echo off
cls
call rake
pause

ИМХО, оператор вызова запустит другой экземпляр интерпретатора, тем самым не давая текущему интерпретатору переключиться на другой входной файл.

person Basilevs    schedule 22.09.2009

pause

будет отображаться:

Нажмите любую клавишу для продолжения . . .

person Steven Robbins    schedule 22.09.2009
comment
извините, не понял, что rake - это еще один пакетный файл. - person Steven Robbins; 22.09.2009

Я предполагаю, что rake это пакетная программа. Когда вы вызываете его без call, управление не возвращается к вашему build.bat. Пытаться:

@echo off
cls
CALL rake
pause
person Aaron Digulla    schedule 22.09.2009

Упс... Не понял вопроса...

Пауза - это путь

Старый ответ:

вы можете передать команды в свой файл патча...

пытаться

build.bat < responsefile.txt
person Heiko Hatzfeld    schedule 22.09.2009

Используйте этот фрагмент:

@echo off
echo something
echo.
echo press enter to exit
pause >nul
exit
person Barth    schedule 01.10.2014