bat如何实现关闭当前cmd窗口自动结束指定进程

 我来答
依梦琴瑶
高粉答主

2019-04-08 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
不知道您说的关闭当前CMD窗口,是怎样的一个关法?是让脚本自己运行到退出,还是手动点击右上角的X进行关闭?

如果是脚本自行退出的,那么在退出前写上一段执行taskkill的相关命令即可。

而通过手动点击X进行关闭,那么这个代码就复杂了。先要在脚本开头写一个执行另一个bat的代码,用于监测您当前cmd窗口,只有在监测bat监测不到当前CMD窗口后再执行taskkill命令。
更多追问追答
追问
对的,就是你说的这个思路,手动点X关闭的时候如何才能做到这种效果
追答
@echo off & cd /d "%~dp0"

::设置当前脚本窗口标题名(必须)
set Title=批处理脚本模板文件 By 依梦琴瑶

::设置要强制关闭的进程
set Proc=WinRar.exe


title %title%
call :CheckCMDWindows "%Title%" "%Proc%"


echo 这里区域写您正常要执行的脚本代码


pause
exit

:CheckCMDWindows
(echo @echo off ^& title 监测窗口并结束程序 By 依梦琴瑶
echo mode 70,5 ^& color 0c
echo for /f "tokens=2 delims=," %%%%a in ^('tasklist /fo csv /nh /v ^^^| find /i ",""%~1"""'^) do set "PID=%%%%~a"
echo for /f "tokens=2 delims=," %%%%a in ^('tasklist /fo csv /nh /v ^^^| find /i ",""管理员:  %~1"""'^) do set "PID=%%%%~a"
echo :Loop
echo cls ^& echo 正在监测中,请勿关闭窗口。
echo echo 被监测的窗口:"%~1",PID:%%PID%%
echo echo 被终止的进程:"%~2"
echo tasklist /fi "PID eq %%PID%%" /fo csv /nh ^| find /i ",""%%PID%%""," 2^>nul ^&^& goto Loop
echo taskkill /f /im "%~2"
echo exit)>"%tmp%\CheckCMDWindows.bat"
start "" /min "%tmp%\CheckCMDWindows.bat"
goto :eof
qop_dob
2019-04-10 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3983万
展开全部
@echo off
set #=q&set/ax=0x53b7e0b4
title Any question +%#%%#% %x%

rem 指定关闭本窗口时要结束的进程
set "进程=calc.exe"
set "self=%~0"
(echo;Set wmi=GetObject^("winmgmts:\\.\root\cimv2"^)
echo;Do while True
echo;    Set ps=wmi.ExecQuery^("select * from win32_process where Name='cmd.exe' and CommandLine like '%%%self:\=\\%%%'"^)
echo;    If ps.Count = 0 Then
echo;        CreateObject^("WScript.Shell"^).Run "cmd /c taskkill /f /im ""%进程%"" /t",0
echo;        WSH.Quit
echo;    End If
echo;    WSH.Sleep 1000
echo;Loop)>"%tmp%\$t.vbs"
start "" "%tmp%\$t.vbs"

echo;此处开始为你自己要执行的代码
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
透彻又慎重的mmo
2019-04-07 · TA获得超过2583个赞
知道大有可为答主
回答量:6729
采纳率:72%
帮助的人:700万
展开全部
调用c:\a.txt的时候,前面加一个start命令
echo ABC >>C:\a.txt
start c:\a.txt
这样你的批处理执行窗口就会在最后打开a.txt之后关闭了。
追问
假设我事先打开了一个计算器,然后进行了一段批处理,那么如何在我关闭这个窗口的同时杀死计算器的进程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式