运行批处理文件后如何关闭命令行窗口?
Posted
技术标签:
【中文标题】运行批处理文件后如何关闭命令行窗口?【英文标题】:How to close the command line window after running a batch file? 【发布时间】:2013-01-15 13:51:56 【问题描述】:我有一个批处理文件。在它完成运行后,即所有命令行都已执行,cmd.exe 窗口保持打开状态。但是,我希望在批处理文件完成其工作后立即关闭它。
到目前为止,我已经尝试在批处理文件中使用exit
命令来关闭 cmd 窗口(我在桌面上也有一个快捷方式),但它似乎不起作用:
tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit
【问题讨论】:
【参考方案1】:它应该会自动关闭,如果没有,则表示它卡在第一个命令上。
在您的示例中,它应该自动关闭(没有exit
)或使用exit
显式关闭。我认为问题在于您运行的第一个命令没有正确返回。
作为一种解决方法,您可以尝试使用
start "" tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
【讨论】:
hohoho,应该是这样的:start tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B "" 用于停止start
的问题,如果您正在运行的程序有空格,它会将第一个字符串解释为应用程序的标题。 "" 给它一个空白标题,因此其余部分将按预期工作。
只是想在这里做一个补充,我正在运行一个 minecraft 服务器,它在 /restart 命令时会启动 bat 脚本,但是旧的命令提示符不会关闭,而是会回到命令行。在 bat 脚本末尾使用“exit”为我解决了这个问题【参考方案2】:
您的代码绝对没问题。它只需要“exit 0”即可获得更干净的出口。
tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit 0
【讨论】:
【参考方案3】:我添加了start
和exit
,它们可以工作。没有两者,它就无法工作
start C:/Anaconda3/Library/bin/pyrcc4.exe -py3 path/Resourses.qrc -path/Resourses_rc.py
exit
【讨论】:
【参考方案4】:如果你只需要自己执行一个命令并且不需要等待,你应该尝试“cmd /c”,这对我有用!
cmd /c start iexplore "http://your/url.html"
cmd /c 表示执行命令然后退出。
您可以通过在命令提示符下键入来了解开关的功能
anycmd /?
【讨论】:
【参考方案5】:%启动的程序或命令% | taskkill /F /IM cmd.exe
示例:
记事本.exe | taskkill /F /IM cmd.exe
不幸的是,如果您打开了其他 cmd 窗口,它也会杀死它们。
【讨论】:
【参考方案6】:用这个来启动Xming,把bat文件放在Start->Startup目录下,现在xming在启动时就运行了。
start "" "C:\Program Files (x86)\Xming\Xming.exe" -screen 0 -clipboard -multiwindow
【讨论】:
【参考方案7】:为了关闭 cmd 窗口,尤其是在使用 Ctrl+C 结束 weblogic 或 JBOSS 应用服务器控制台后,我在批处理文件中使用了“call
”命令而不是“start
”。我的 startWLS.cmd 文件如下所示:
call [BEA_HOME]\user_projects\domains\test_domain\startWebLogic.cmd
Ctrl+C(和'Y'回答) cmd 窗口自动关闭。
【讨论】:
【参考方案8】:我在搜索相同主题但针对 Windows 时遇到了这个问题 所以,如果有人想知道如何在这里完成它是它
echo | set /p=Your Text
输出:
Your Text
我用它在剪贴板上保存数据,因此需要修剪文本 看起来像这样
echo | set /p=Text| clip
【讨论】:
【参考方案9】: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
将它放在批处理文件程序的最后一行代码中。
【讨论】:
【参考方案10】:REM EXECUTE TASK KILL TO CLOSE CMD PROGRAM.-
wmic Path win32_process Where "Caption Like 'cmd%.exe'" Call Terminate
PD:将它放在批处理文件程序的最后一个代码行中。-
【讨论】:
以上是关于运行批处理文件后如何关闭命令行窗口?的主要内容,如果未能解决你的问题,请参考以下文章