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


当前回答

根据用例有两种方法

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

暂停

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

cmd

其他回答

可能性1: 只需要创建2个.bat文件并写入第一个文件:

start <filename> // name of 2nd batch file
exit

批处理文件2是最后不会关闭的文件。 所以现在当你打开第nr1批时,它会开始第2批,然后自闭。 当第二个结束时,它不会完全关闭(只要你不把出口放在最后)

可能性2: 批文件1:

call <filename>
cls
echo End of file
pause
<any code you want>

当第二个文件结束时,它将再次继续文件1并输出剩余的部分。有了它,您甚至可以创建错误处理程序。如果nrr .1崩溃,它会进入nrr .2并显示出来

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

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

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

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

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

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

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

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

:programend
pause>nul
GOTO programend

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

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

@echo off
cmd /k foo.bat

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