我有一个这样的bat文件:

ipconfig

这将把IP信息打印到屏幕上,但在用户读取该信息之前CMD关闭自己。

我相信CMD会假定脚本已经完成,所以它会关闭。

我如何保持CMD打开后脚本完成?


当前回答

只需在结尾添加@pause。

例子:

@echo off
ipconfig
@pause

或者你也可以用:

cmd /k ipconfig

其他回答

javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.java

cmd cd C:\xxx\yourbat.bat

第二个命令使您的CMD窗口不被关闭。 重要的是你仍然可以输入新的命令

只需在结尾添加@pause。

例子:

@echo off
ipconfig
@pause

或者你也可以用:

cmd /k ipconfig

在Windows中,在文件中的命令末尾添加“& Pause”。

我也很困惑,为什么我们要在开始时添加一个cmd,我想知道我是否必须先打开命令提示符。 你需要做的就是输入完整的命令和cmd /k。例如,假设你的批处理文件名为“my_command.bat”,它运行命令javac my_code.java,那么你的批处理文件中的代码应该是:

cmd /k javac my_code.java

所以基本上不需要在当前文件夹打开命令提示符并键入上面的命令,但你可以直接将这段代码保存在批处理文件中并直接执行。

作为旁注,这也适用于直接从窗口中的搜索栏运行命令。

例如,直接执行ipconfig命令会在命令退出后直接关闭CMD窗口。

使用cmd \k <命令>不会-这是我试图做的,当我找到这个答案。

它还有一个额外的优点,就是总能识别出您试图运行的命令。例如,从搜索栏运行echo hello world将不起作用,因为这不是一个命令,然而cmd \k echo hello world工作得很好。