我有一个这样的bat文件:
ipconfig
这将把IP信息打印到屏幕上,但在用户读取该信息之前CMD关闭自己。
我相信CMD会假定脚本已经完成,所以它会关闭。
我如何保持CMD打开后脚本完成?
将pause放在. bat文件的末尾。
pause
根据你运行命令的方式,你可以把/k放在cmd之后以保持窗口打开。
/k
cmd
cmd /k my_script.bat
简单地在批处理文件的末尾添加cmd /k也可以。这要归功于路易吉D中保,他在下面的评论中发表了这篇文章。
cmd /k
只需要在最后添加@pause。
@pause
例子:
@echo off ipconfig @pause
或者你也可以用:
cmd /k ipconfig
在(Windows 7)中添加pause到最后没有为我工作 但是在我的命令前面添加cmd /k确实有用。< / p >
cmd /k gradlew cleanEclipse
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.java cmd cd C:\xxx\yourbat.bat
第二个命令使您的CMD窗口不被关闭。 重要的是你仍然可以输入新的命令
如果在命令行中启动脚本,则添加exit /b以保持CMD打开
exit /b
start cmd /k为我做了魔法。我实际上是用它来准备cordova phonegap应用程序,它运行命令,显示结果,等待用户关闭它。下面是一个简单的例子
start cmd /k
start cmd /k echo Hello, World!
我用在我身上的东西
start cmd /k cordova prepare
更新
你甚至可以用
start "My Title" echo Hello, World!
在Windows中添加'&在文件中暂停到命令的末尾。
javac my_code.java
cmd /k javac my_code.java
所以基本上不需要在当前文件夹打开命令提示符并键入上面的命令,但你可以直接将这段代码保存在批处理文件中并直接执行。
当.bat文件启动时而不是在命令行中(例如双击)。
echo The echoed text @pause
echo The echoed text pause
echo The echoed text cmd /k
echo The echoed text & pause
作为旁注,这也适用于直接从窗口中的搜索栏运行命令。
例如,直接运行ipconfig将在命令退出后直接关闭cmd窗口。
使用cmd \k <command>不会-这是我试图做的,当我找到这个答案。
cmd \k <command>
它还有一个额外的优点,就是总能识别出您试图运行的命令。例如,从搜索栏运行echo hello world将不起作用,因为这不是一个命令,然而cmd \k echo hello world工作得很好。
echo hello world
cmd \k echo hello world