bat如何实现关闭当前cmd窗口自动结束指定进程
展开全部
不知道您说的关闭当前CMD窗口,是怎样的一个关法?是让脚本自己运行到退出,还是手动点击右上角的X进行关闭?
如果是脚本自行退出的,那么在退出前写上一段执行taskkill的相关命令即可。
而通过手动点击X进行关闭,那么这个代码就复杂了。先要在脚本开头写一个执行另一个bat的代码,用于监测您当前cmd窗口,只有在监测bat监测不到当前CMD窗口后再执行taskkill命令。
如果是脚本自行退出的,那么在退出前写上一段执行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
展开全部
@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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用c:\a.txt的时候,前面加一个start命令
echo ABC >>C:\a.txt
start c:\a.txt
这样你的批处理执行窗口就会在最后打开a.txt之后关闭了。
echo ABC >>C:\a.txt
start c:\a.txt
这样你的批处理执行窗口就会在最后打开a.txt之后关闭了。
追问
假设我事先打开了一个计算器,然后进行了一段批处理,那么如何在我关闭这个窗口的同时杀死计算器的进程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询