我可以在批处理文件的末尾放置什么命令来防止在文件执行后自动关闭控制台?
当前回答
我知道我迟到了,但我更喜欢这样:
:programend
pause>nul
GOTO programend
这样用户就不能使用enter退出。
其他回答
在Windows/DOS批处理文件中:
pause
这将打印一个漂亮的“按任意键继续…”消息
或者,如果你不想要“按任意键继续…”消息,可以这样做:
pause >nul
我知道我迟到了,但我更喜欢这样:
:programend
pause>nul
GOTO programend
这样用户就不能使用enter退出。
可能性1: 只需要创建2个.bat文件并写入第一个文件:
start <filename> // name of 2nd batch file
exit
批处理文件2是最后不会关闭的文件。 所以现在当你打开第nr1批时,它会开始第2批,然后自闭。 当第二个结束时,它不会完全关闭(只要你不把出口放在最后)
可能性2: 批文件1:
call <filename>
cls
echo End of file
pause
<any code you want>
当第二个文件结束时,它将再次继续文件1并输出剩余的部分。有了它,您甚至可以创建错误处理程序。如果nrr .1崩溃,它会进入nrr .2并显示出来
如果您正在使用Maven,并且希望跳过输入并防止关闭控制台以查看结果,那么您需要在脚本中使用CALL命令,而不仅仅是'mvn clean install'。
像这样将关闭控制台
ECHO This is the wrong exemple
mvn clean install
pause
像这样控制台将保持打开状态
ECHO This is the right exemple
CALL mvn clean install
pause
如果你不使用CALL命令,两个过去的例子都不能工作。因为由于某种原因,cmd在调用另一个批处理文件(在本例中是mvn)时的默认行为本质上是用它替换当前进程,而不像调用.exe
我的方法是写一个实际的批处理(说“foo.bat”)来完成工作;然后创建另一个"start.bat":
@echo off
cmd /k foo.bat
我发现这在设置一次性环境变量时非常有用。
推荐文章
- 如何从终端/命令行调用VS代码编辑器
- 在Jar文件中运行类
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 如何在Windows命令提示符下运行.sh ?
- 如何从命令行通过mysql运行一个查询?
- 如何从命令行在windows中找到mysql数据目录
- 如何从命令行安装cygwin组件?
- 如何更改Git日志日期格式
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- Windows FINDSTR命令的未记录的特性和限制是什么?
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 用Windows任务调度器运行批处理文件
- GIT克隆在windows中跨本地文件系统回购