繁体   English   中英

运行批处理文件后如何关闭命令行窗口?

[英]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

我添加了有效的startexit 没有两者,它就不起作用

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM