复制代码
- @echo off
- title !%0!
- taskkill /f /im explorer.exe
- for /f "skip=3 tokens=2" %%a in ('TASKLIST /FI "WINDOWTITLE eq %~n0" /FI "STATUS eq running"') do set pcmd=%%a
- for /f "skip=3 tokens=1,2" %%a in ('tasklist') do echo %%a %%b|findstr /i /v "System smss.exe csrss.exe winlogon.exe services.exe lsass.exe svchost.exe conime.exe explorer.exe wmiprvse.exe Userinit.exe taskkill.exe spoolsv.exe ctfmon.exe alg.exe tasklist.exe qq.exe">>_npslist.txt
- for /f "tokens=1,2" %%a in (_npslist.txt) do (
- if /i "%%a"=="cmd.exe" (if not %%b==%pcmd% taskkill /f /t /pid %%b) else (taskkill /f /t /im %%a||NTSD -c q -P %%a)
- )
- start %windir%\explorer.exe
- del _npslist.txt
- pause
本篇为原创,转载请注明出处。 http://hi.baidu.com/cjiabing 甲兵时代,为你服务。复制代码
- @echo off
- title 一键结束非系统进程
- MODE con: COLS=82 LINES=25
- COLOR 3C
- echo. ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
- echo. ☆ ★
- echo ★ 一键结束非系统进程(测试版) ☆
- echo ☆ BY:甲兵时代 ★
- echo ★ http://hi.baidu.com/cjiabing ☆
- echo. ☆ ★
- echo. ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
- echo.
- echo ◇◇请仔细阅读使用说明◇◇
- echo *******************************************************************************
- echo. 1、本工具尚在测试阶段,使用具有一定风险,须自担风险。
- echo. 2、本工具适合于XP操作系统,最好将本工具直接放于盘符下运行。
- echo. 3、第一次使用须创建本系统的进程列表,请使用辅助工具获取代码,修改后
- echo. 分别替换后面标签3和标签4的代码。
- echo. 4、运行过程中如自动关闭,请删掉本工具产生的临时文件重新运行。
- echo. 5、临时文件1.bat—11.bat,1.txt—8.txt,ps.vbs,temp.bat,清理临时文件.bat
- echo. 本工具会自动清理,如清理失败请用 “清理临时文件.bat”手动清理。
- echo. 6、运行过程大概需要几分钟时间,如桌面长时间消失,请用ctrl+alt+del打开
- echo. 任务管理器,在新建任务中输入C:\WINDOWS\explorer.exe执行即可恢复桌面
- echo. 7、请保证文件名和代码的完整性,尝试修改本代码具有很大风险。
- echo. 8、第一次写批处理,本人博客“http://hi.baidu.com/cjiabing”欢迎你留言。
- 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
欢迎光临 批处理之家 (http://www.bathome.net/) | Powered by Discuz! 7.2 |