我可以在批处理文件的末尾放置什么命令,以防止在执行文件后自动关闭控制台?
我可以在批处理文件的末尾放置什么命令,以防止在执行文件后自动关闭控制台?
Answers:
在Windows / DOS批处理文件中:
pause
这会打印一条好"Press any key to continue . . . "
消息
或者,如果您不希望收到此"Press any key to continue . . ."
消息,请执行以下操作:
pause >nul
取决于确切的问题!
通常pause
,该工作在.bat文件中进行。
如果不希望cmd.exe关闭以保持键入状态,请cmd /k
在文件末尾使用command。
cmd /k
命令之前。& cmd /k
将无法正常工作。
以下在批处理文件中包含命令的方式将打开新的命令提示符窗口,并且新窗口不会自动退出。
start "title" call abcd.exe param1 param2
start "title" call xyz.exe param1 param2
如果您使用的是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
命令,则过去的示例都不会起作用。
call <myCommand>
解决了此问题:第一次执行后,我的提示
可能性1:只需制作2个.bat文件并写入第一个文件:
start <filename> // name of 2nd batch file
exit
批处理文件2是最后不会关闭的文件。因此,现在当您打开批处理nr.1时,它将启动第二个并克隆自身。当第二个完成时,它不会完全关闭(只要您不将出口放在最后)
可能性2:批处理文件1:
call <filename>
cls
echo End of file
pause
<any code you want>
当第二个文件结束时,它将再次进入文件1并输出其余文件。这样,您甚至可以创建错误处理程序。如果nr.1崩溃,它将进入nr.2并显示
我知道我来晚了,但是我的首选方式是:
:programend
pause>nul
GOTO programend
这样,用户无法使用enter退出。
取决于用例有两种方法
1)如果您希望Windows cmd提示符保持打开状态,以便您可以看到执行结果并随后将其关闭;采用
pause
2)如果您希望Windows cmd提示符保持打开状态并允许您执行一些命令后缀;采用
cmd
轻松,将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,仅关闭窗口,就看不到错误msg 。