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


当前回答

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

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

其他回答

如果您希望cmd.exe不关闭,并能够继续键入,请使用cmd /k

只是觉得有必要澄清/k是做什么的(来自windows网站):

/k:执行string指定的命令并继续执行。

因此,在bat文件的末尾没有后续命令的cmd /k将保持cmd.exe窗口打开以供进一步使用。

另一方面,在批处理文件末尾的暂停将简单地暂停进程并在第一次按下按钮时终止cmd.exe

简单,添加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,它等待一个键被按下,而不显示任何额外的文本在控制台上。

除了暂停。

set /p=

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

or

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

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

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

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