如何批量“按Enter键退出”


76

我正在使用rake来构建我的项目,并且我有一个类似于以下内容的build.bat文件:

@echo off
cls
rake

当我双击build.bat时,dos窗口会弹出并显示所有进度,但在任务完成时会自行关闭。有没有办法做Console.ReadLine,以便用户有机会查看日志?

谢谢。

更新:

我在下面尝试过,但是没有用。不知道为什么。

@echo off
cls
rake
pause

Answers:


91

Microsoft的默认解释器以某种方式完成,导致它们到达EOF时退出。如果rake是另一个批处理文件,则命令解释器将切换到该文件,并在rake解释完成后退出。为了防止这种写:

@echo off
cls
call rake
pause

恕我直言,呼叫操作员将启动另一个解释器实例,从而防止当前的一个解释器切换到另一个输入文件。



10

我的猜测是这rake是一个批处理程序。如果您在不使用的情况下调用它call,则控制权不会返回您的build.bat。尝试:

@echo off
cls
CALL rake
pause


1

糟糕...误解了这个问题...

暂停是必经之路

旧答案:

您可以将命令通过管道发送到补丁文件中...

尝试

build.bat < responsefile.txt

1

使用以下代码段:

@echo off
echo something
echo.
echo press enter to exit
pause >nul
exit

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.