222

我有一个这样的bat文件:

ipconfig

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

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

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

4

11 回答 11

299

放在pause.BAT 文件的末尾。

于 2013-07-30T20:49:30.093 回答
207

根据您运行命令的方式,您可以放/kaftercmd以保持窗口打开。

cmd /k my_script.bat

只需添加cmd /k到批处理文件的末尾也可以。感谢Luigi D'Amico,他在下面的评论中对此进行了发布。

于 2013-07-30T20:55:10.167 回答
66

只需@pause在最后添加即可。

例子:

@echo off
ipconfig
@pause

或者你也可以使用:

cmd /k ipconfig
于 2013-07-31T09:42:00.850 回答
17

当 .bat 文件不是从命令行启动时(例如双击)。

echo The echoed text
@pause

at_pause

echo The echoed text
pause

暂停

echo The echoed text
cmd /k

命令 k

echo The echoed text & pause

and_pause

于 2020-02-04T08:22:01.267 回答
10

pause(Windows 7)添加到最后对我不起作用,
cmd /k在我的命令前面添加确实有效。

例子 :

cmd /k gradlew cleanEclipse
于 2013-08-13T17:55:27.193 回答
5

start cmd /k为我施了魔法。我实际上用它来准备科尔多瓦 phonegap 应用程序,它运行命令,显示结果并等待用户关闭它。下面是一个简单的例子

start cmd /k echo Hello, World!

我在我的案例中使用了什么

start cmd /k cordova prepare

更新

你甚至可以使用这个标题

start "My Title" echo Hello, World!

于 2017-07-10T06:41:00.633 回答
1

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

于 2017-04-13T14:03:09.007 回答
1

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

于 2017-10-14T17:41:02.573 回答
1

我也对为什么要cmd在开头添加 a 感到困惑,我想知道是否必须先打开命令提示符。您需要做的是键入完整的命令以及cmd /k. 例如,假设您的批处理文件名为“my_command.bat”,它运行命令,javac my_code.java那么批处理文件中的代码应该是:

cmd /k javac my_code.java

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

于 2019-01-17T11:51:45.997 回答
0
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.java

cmd cd C:\xxx\yourbat.bat

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

于 2017-03-10T05:04:25.813 回答
0

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

例如直接运行ipconfig将在命令退出后直接关闭cmd窗口。

在此处输入图像描述

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

在此处输入图像描述

它具有始终识别您尝试运行的命令的额外优势。例如,echo hello world从搜索栏运行将不起作用,因为这不是命令,但cmd \k echo hello world工作得很好。

于 2020-06-25T07:59:28.027 回答