我有一个批处理文件。完成运行后,即所有命令行都已执行,cmd.exe窗口保持打开状态。但是,我希望在批处理文件完成其工作后立即关闭它。
到目前为止,我已经尝试使用exit
批处理文件中的命令来关闭 cmd 窗口(我在桌面上也有一个快捷方式),但它似乎不起作用:
tncserver.exe C:\Work -p4 -b57600 -r -cFE -tTNC426B
exit
我有一个批处理文件。完成运行后,即所有命令行都已执行,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
andexit
哪个有效。没有这两个它是行不通的
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:把它放在你的批处理文件程序的最后一个代码行中。-