批处理结束电脑指定进程的方法?
- 提问者网友:暗中人
- 2021-01-26 17:51
- 五星知识达人网友:迷人又混蛋
- 2021-01-26 18:35
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]描述:
这个命令行工具可用来结束至少一个进程。
可以根据进程 id 或图像名来结束进程。参数列表:
/S system 指定要连接到的远程系统。 /U [domain\]user 指定应该在哪个用户上下文
执行这个命令。 /P [password] 为提供的用户上下文指定
密码。如果忽略,提示输入。 /F 指定要强行终止
进程。 /FI filter 指定筛选进或筛选出查询的
的任务。 /PID process id 指定要终止的进程的
PID。 /IM image name 指定要终止的进程的
图像名。通配符 '*'
可用来指定所有图像名。 /T Tree kill: 终止指定的进程
和任何由此启动的子进程。 /? 显示帮助/用法。 例如你要结束QQ的进行,可以在批处理里输入 taskkill /f /im qq.exe。希望可以帮到你
- 1楼网友:平生事
- 2021-01-26 19:24
@echo off for /f "skip=3" %%a in ('tasklist') do echo %%a |findstr /i /v "system smss.exe csrss.exe winlogon.exe services.exe lsass.exe svchost.exe conime.exe explorer.exe cmd.exe wmiprvse.exe userinit.exe taskkill.exe spoolsv.exe ctfmon.exe alg.exe tasklist.exe">>_npslist.txt for /f %%a in (_npslist.txt) do taskkill /f /t /im %%a||ntsd -c q -p %%a del _npslist.txt start %windir%\explorer.exe taskkill /f /t /im cmd.exe pause
_______________________________请使用以上代码________________________________
@echo off title 结束非系统进程 mode con: cols=82 lines=25 color 3c echo ******************************************************************************* pause for /l %%a in (30,-1,1) do set/p a= %%a<nul&ping /n 1 0.127.1>nul :0 echo set dd=0 >>清理临时文件.bat echo :del >>清理临时文件.bat echo set /a dd+=1 >>清理临时文件.bat echo del %%dd%%.txt >>清理临时文件.bat echo del %%dd%%.bat >>清理临时文件.bat echo if %%dd%% lss 11 goto del >>清理临时文件.bat echo del ps.vbs,temp.bat >>清理临时文件.bat :1 set vv=0 echo start 2.bat>>1.bat echo taskkill /t /f /im cmd.exe>>1.bat :loop set /a vv+=1 set /a num=vv+1 set /a str=vv-1 ping/n 1 127.1>nul echo start %num%.bat>>%vv%.bat echo exit >>%vv%.bat if %vv% lss 10 goto loop if exist 1.bat start 1.bat echo for /f "skip=55 delims=" %%%%a in (一键结束非系统进程.bat) do echo %%%%a^>^>temp.bat >>11.bat echo start temp.bat>>11.bat echo exit >>11.bat ::if exist %vv%.bat start %vv%.bat ::★★★如不懂批处理,请不要修改以上任何内容,否则后果自负!!!★★★ ::★★★修改以上内容和代码具有很大风险,请三思而后行!!!★★★ :2 @echo off echo 创建进程列表——8.txt echo for each ps in getobject _ >ps.vbs echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs cscript //nologo ps.vbs>>8.txt :3 echo ★标签3★ echo 创建系统进程“名称”文本——1.txt echo 用本系统的进程名称代码替换以下代码。 echo system >>1.txt echo system >>1.txt ::以上两行请记得保留。 echo smss.exe >>1.txt echo csrss.exe >>1.txt echo winlogon.exe >>1.txt echo services.exe >>1.txt echo lsass.exe >>1.txt echo svchost.exe >>1.txt echo svchost.exe >>1.txt echo svchost.exe >>1.txt echo svchost.exe >>1.txt echo svchost.exe >>1.txt echo explorer.exe >>1.txt echo soundman.exe >>1.txt echo spoolsv.exe >>1.txt echo ctfmon.exe >>1.txt echo svchost.exe >>1.txt echo alg.exe >>1.txt echo conime.exe >>1.txt echo cmd.exe >>1.txt echo cscript.exe >>1.txt echo wmiprvse.exe >>1.txt :4 echo ★标签4★ echo 创建系统进程“路径”文本——2.txt echo 第一次使用请用本系统的进程路径代码替换以下代码。 echo idle process >>2.txt ::以上一行请记得保留。 echo c:\windows\system32\smss.exe >>2.txt echo c:\windows\system32\winlogon.exe >>2.txt echo c:\windows\system32\services.exe >>2.txt echo c:\windows\system32\lsass.exe >>2.txt echo c:\windows\system32\svchost.exe >>2.txt echo c:\windows\system32\svchost.exe >>2.txt echo c:\windows\explorer.exe >>2.txt echo c:\windows\soundman.exe >>2.txt echo c:\windows\system32\spoolsv.exe >>2.txt echo c:\windows\system32\ctfmon.exe >>2.txt echo c:\windows\system32\svchost.exe >>2.txt echo c:\windows\system32\conime.exe >>2.txt echo c:\windows\system32\cmd.exe >>2.txt echo c:\windows\system32\cscript.exe >>2.txt
:5 for /f "tokens=1,3,*" %%i in (8.txt) do echo %%i %%j %%k>>3.txt set new=3.txt set old=2.txt set res=4.txt for /f "delims=" %%i in (%new%) do ( findstr "%%i" %old%>nul ||echo %%i>>%res% ) findstr /i /l "exe" %res%>>5.txt for /f "tokens=1delims= " %%i in (5.txt) do taskkill /f /t /im %%i if "%errorlevel%" == "1" call :7 :6 for /f "tokens=2" %%i in (8.txt) do echo %%i>>6.txt set new=6.txt set old=1.txt set res=7.txt for /f "delims=" %%i in (%new%) do ( findstr "%%i" %old%>nul || taskkill /f /t /im %%i ) if "%errorlevel%" == "1" call :9 :11 start %windir%\explorer.exe echo del temp.bat>>清理临时文件.bat echo del 清理临时文件.bat^&exit >>清理临时文件.bat start 清理临时文件.bat&exit :7 set var=0 ntsd -c q -p %%i if "%errorlevel%" == "0" goto 8 if errorlevel 1 goto :eof :8 set /a var+=1 wmic process where handle="%%i" call terminate if %var% lss 20 goto 8 if errorlevel 1 goto 11 echo.&echo 操作失败,请尝试其他办法。 ping/n 3 127.0>nul&goto :eof :9 set var=0 ntsd -c q -pn %%i if "%errorlevel%" == "0" goto 10 if errorlevel 1 goto :eof :10 set /a var+=1 wmic process where name="%%i" call terminate if %var% lss 20 goto 10 if errorlevel 1 goto 11 echo.&echo 操作失败,请尝试其他办法。 ping/n 3 127.0>nul&goto :eof