我可以在批处理文件的末尾放置什么命令来防止在文件执行后自动关闭控制台?
当前回答
简单,添加cmd到你的最后一行蝙蝠,但是!如果您重置或清除系统路径,则必须以完整路径启动CMD,例如:
%windir%\system32\cmd.exe
例如,我有一个bat文件来重置jdk到旧版本,就像这样:
PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
%windir%\system32\cmd.exe
因为我重置了系统路径,所以我必须运行完整路径的cmd,否则系统找不到cmd.exe,它将无法运行cmd,只是关闭窗口,你看不到错误信息。
其他回答
我个人把暂停>nul,它等待一个键被按下,而不显示任何额外的文本在控制台上。
这取决于具体的问题!
通常pause在.bat文件中完成工作。
如果您希望cmd.exe不关闭,以保持输入,请在文件末尾使用cmd /k命令。
如果您正在使用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
除了暂停。
set /p=
它将期望用户输入,并在按下enter键时释放流。
or
runas /user:# "" >nul 2>&1
它也会执行相同的操作,只是不会显示用户输入中的任何内容,也不会保留在命令历史记录中。
添加暂停(如果你不希望任何其他显示Add) > null它应该看起来像:@echo offtitle niceecho hellopause >nulall你将看到的是“hello”
推荐文章
- 如何从终端/命令行调用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中跨本地文件系统回购