[英]How to close the command line window after running a batch file?
我有一个批处理文件。 运行完成后,即所有命令行都已执行, cmd.exe窗口保持打开状态。 但是,我希望在批处理文件完成其工作后立即关闭它。
到目前为止,我已经尝试在批处理文件中使用exit
命令来关闭 cmd 窗口(我在桌面上也有一个快捷方式),但它似乎不起作用:
tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit
它应该自动关闭,如果不是,则表示它卡在第一个命令上。
在您的示例中,它应该自动关闭(没有exit
)或显式关闭exit
。 我认为问题在于您运行的第一个命令没有正确返回。
作为解决方法,您可以尝试使用
start "" tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
你的代码绝对没问题。 它只需要“exit 0”即可更干净地退出。
tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit 0
我添加了有效的start
和exit
。 没有两者,它就不起作用
start C:/Anaconda3/Library/bin/pyrcc4.exe -py3 {path}/Resourses.qrc -{path}/Resourses_rc.py
exit
如果你只需要自己执行一个命令而不需要等待,你应该尝试“cmd /c”,这对我有用!
cmd /c start iexplore "http://your/url.html"
cmd /c 表示执行命令然后退出。
您可以通过在命令提示符中键入来了解开关的功能
anycmd /?
%启动程序或命令% | taskkill /F /IM cmd.exe
例子:
记事本.exe | taskkill /F /IM cmd.exe
不幸的是,如果您打开了其他 cmd 窗口,它也会杀死它们。
使用它来启动 Xming,将 bat 文件放在 Start->Startup 目录中,现在我在启动时运行了 xming。
start "" "C:\Program Files (x86)\Xming\Xming.exe" -screen 0 -clipboard -multiwindow
为了关闭 cmd 窗口,尤其是在使用 Ctrl+C 结束 weblogic 或 JBOSS 应用服务器控制台之后,我在批处理文件中使用了“ call
”命令而不是“ start
”。 我的startWLS.cmd文件看起来像:
call [BEA_HOME]\user_projects\domains\test_domain\startWebLogic.cmd
在 Ctrl+C(和 'Y' 回答)后,cmd 窗口会自动关闭。
我在搜索相同主题时遇到了这个问题,但对于 Windows 所以,如果有人想知道如何在这里完成它
echo | set /p=Your Text
输出:
Your Text
我用它来将数据保存在剪贴板上,因此需要修剪文本 看起来像这样
echo | set /p=Text| clip
Max Lorens 的回答是目前投票最少的回答,是唯一适用于我的特定脚本的回答。
我相信对于输出并在其中暂停的复杂脚本,例如“超时 /t 4 / nobreak”,他的想法是最好的。 简单地强制杀死 cmd.exe 可以/会弄乱在 cmd.exe 容器内运行后台进程的系统,而该命令只会杀死标题中带有 cmd.exe 的可见窗口。
作为参考,它是:
REM EXECUTE TASK KILL TO CLOSE CMD PROGRAM.-
wmic Path win32_process Where "Caption Like 'cmd%.exe'" Call Terminate
将它放在批处理文件程序的最后一行代码中。
REM EXECUTE TASK KILL TO CLOSE CMD PROGRAM.-
wmic Path win32_process Where "Caption Like 'cmd%.exe'" Call Terminate
PD:把它放在你的批处理文件程序的最后一行代码中。-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.