как да натиснете 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

IMHO, операторът на повикване ще стартира друг екземпляр на интерпретатор, като по този начин ще предотврати превключването на текущия интерпретатор към друг входен файл.

person Basilevs    schedule 22.09.2009

pause

ще покаже:

Натиснете произволен клавиш, за да продължите. . .

person Steven Robbins    schedule 22.09.2009
comment
съжалявам, не разбрах, че рейк е друг пакетен файл. - 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