我可以在批处理文件的末尾放置什么命令来防止在文件执行后自动关闭控制台?


当前回答

我知道我迟到了,但我更喜欢这样:

:programend
pause>nul
GOTO programend

这样用户就不能使用enter退出。

其他回答

除了暂停。

set /p=

它将期望用户输入,并在按下enter键时释放流。

or

runas /user:# "" >nul 2>&1

它也会执行相同的操作,只是不会显示用户输入中的任何内容,也不会保留在命令历史记录中。

运行.exe文件,然后暂停cmd

批处理脚本示例:

@echo off
myProgram.exe
PAUSE

带参数的批处理脚本示例:

@echo off
myProgram.exe argumentExample1 argumentExample2
PAUSE

我添加了@echo off,因为我不想在cmd中显示C:\user\Desktop>myProgram.exe和C:\user\Desktop>PAUSE

我个人把暂停>nul,它等待一个键被按下,而不显示任何额外的文本在控制台上。

在批处理文件的末尾调用cmd。

如果您正在使用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