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


当前回答

添加暂停(如果你不希望任何其他显示Add) > null它应该看起来像:@echo offtitle niceecho hellopause >nulall你将看到的是“hello”

其他回答

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

根据用例有两种方法

1)如果您希望Windows cmd提示符保持打开状态,以便您可以看到执行结果,然后关闭它;使用

暂停

2)如果你想要Windows cmd提示符保持打开,并允许你执行一些命令后;使用

cmd

这里的答案有问题,所以我想出了这个,对我来说很有用(TM):

cmd /c node_modules\.bin\tsc
cmd /c node rollup_build.js
pause

下面将命令放在批处理文件中的方法将打开新的命令提示窗口,并且新窗口不会自动退出。

start "title" call abcd.exe param1 param2  
start "title" call xyz.exe param1 param2

简单,添加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,只是关闭窗口,你看不到错误信息。