我有一个这样的bat文件:

ipconfig

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

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

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


当前回答

只需在结尾添加@pause。

例子:

@echo off
ipconfig
@pause

或者你也可以用:

cmd /k ipconfig

其他回答

启动CMD /k为我做了魔法。我实际上是用它来准备cordova phonegap应用程序,它运行命令,显示结果,等待用户关闭它。下面是一个简单的例子

start cmd /k echo Hello, World!

我用在我身上的东西

start cmd /k cordova prepare

更新

你甚至可以用

开始“My Title”echo Hello, World!

如果您在命令行中启动脚本,则添加exit /b以保持CMD打开

根据您运行命令的方式,您可以在cmd后输入/k以保持窗口打开。

cmd /k my_script.bat

简单地在批处理文件的末尾添加cmd /k也可以。这要归功于Luigi D'Amico,他在下面的评论中发表了这篇文章。

在最后添加暂停(Windows 7)对我来说没用 但是在我的命令前面加上CMD /k确实有用。

例子:

cmd /k gradlew cleanEclipse

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

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

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

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