使用批处理脚本终止所有不必要的进程



作为安全预防措施,我想要一种方法,我可以强制终止Windows操作系统运行不需要的所有进程。我还想确保没有新进程启动,并打印所有终止的进程,以便我知道在哪里查找。这样,如果我不小心下载了恶意软件并且它仍处于早期阶段,我可能会恢复可能的损害并更轻松地删除源。我不知道如何处理这个问题,因此我寻求帮助解决我自己的问题。提前谢谢你:)

PS:如果有一种方法可以为批处理脚本提供退出按钮,那就太好了,但不是必需的! :)

您可以使用 tasklisttaskkill 的组合来执行此操作。

列出一个安全程序列表,并将其与当前正在运行的每个任务进行交叉检查,如果它不在列表中,则将其杀死。

@echo off
setlocal enabledelayedexpansion
set safeArray="system idle process" "system" "registry" "svchost.exe" & rem etc
for /f "tokens=1,2 delims=," %%i in ('tasklist /fo csv /nh') do (
    set tmp=0
    for /f %%k in ('echo %safeArray% ^| find /i /c "%%~i"') do set /a tmp+=%%k
    if !tmp! lss 1 echo I want to taskkill - %%~i  PID: %%~j
)
pause

我现在已将实际杀戮排除在脚本之外,因为您需要先设置安全阵列。
echo I want to taskkill…行替换为 taskkill /pid %%~j

最新更新