BAT文件执行后保持CMD打开

pat*_*tyd 147 cmd batch-file

我有一个像这样的bat文件:

ipconfig
Run Code Online (Sandbox Code Playgroud)

这将打印出ip信息到屏幕,但在用户可以读取该信息之前,CMD关闭它是自己的.

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

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

ElG*_*lan 207

放在pause.BAT文件的末尾.

  • 这正是我想要的,因为我在启动时运行bat文件,而不是通过CMD命令.+1 (6认同)
  • 如果您在执行后仍想与 bat 文件交互,请将 PAUSE 替换为 cmd /k - 然后在您的脚本运行后,您仍然可以在相同的上下文中运行手动命令 (5认同)

小智 144

根据您是如何运行的命令,你可以把/kcmd保持窗口打开.

cmd /k my_script.bat
Run Code Online (Sandbox Code Playgroud)

  • 在你的bat文件中的所有脚本之后 - put - > cmd/k (10认同)
  • 请注意,如果您的程序包含语法错误,则通过双击运行该窗口并将其最后放置`cmd / k`仍然会关闭该窗口。 (2认同)
  • 这并不能解释如果用户双击该文件,cmd 窗口会关闭。 (2认同)

小智 49

@pause最后添加

示例:

@echo off
ipconfig
@pause
Run Code Online (Sandbox Code Playgroud)

或者你也可以使用:

cmd /k ipconfig
Run Code Online (Sandbox Code Playgroud)

  • @符号有什么作用?@pause和暂停之间有区别吗? (4认同)
  • @demonicdaron 解释@ 符号的答案:/sf/answers/1475399971/ (4认同)
  • **`@pause`** 和 **`pause`** 之间的区别可以在这个答案中直观地看到:/sf/ask/1256995351/#60053224 (2认同)
  • 在这里,它没有任何区别,因为“echo”已经设置为“off”。 (2认同)

Zyg*_*ygD 14

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

echo The echoed text
@pause
Run Code Online (Sandbox Code Playgroud)

在_暂停

echo The echoed text
pause
Run Code Online (Sandbox Code Playgroud)

暂停

echo The echoed text
cmd /k
Run Code Online (Sandbox Code Playgroud)

命令行

echo The echoed text & pause
Run Code Online (Sandbox Code Playgroud)

and_pause


小智 6

pause(Windows 7)添加到最后对我来说不起作用,
但是cmd /k在命令前面添加确实可以。

范例:

cmd /k gradlew cleanEclipse
Run Code Online (Sandbox Code Playgroud)


jaf*_*ech 6

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

start cmd /k echo Hello, World!
Run Code Online (Sandbox Code Playgroud)

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

start cmd /k cordova prepare
Run Code Online (Sandbox Code Playgroud)

更新

您甚至可以使用以下方法为其指定标题

start "My Title" echo Hello, World!