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


当前回答

除了暂停。

set /p=

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

or

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

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

其他回答

我的方法是写一个实际的批处理(说“foo.bat”)来完成工作;然后创建另一个"start.bat":

@echo off
cmd /k foo.bat

我发现这在设置一次性环境变量时非常有用。

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

使用:调用yourbatch.cmd

是否有效 将处理脚本,然后在同一窗口上继续弹出其他代码(cmd实例)

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

:programend
pause>nul
GOTO programend

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

pause

or

echo text to display
pause>nul