windows handles查询及批处理动作判断
@echo off setlocal enabledelayedexpansion c:\windows\handle64.exe /s /p lsass.exe | findstr Total > %TMP%\handles_number.txt for /f "tokens=3 delims= " %%i in (%TMP%\handles_number.txt) do ( set xxxx=00%%i set yyyy=!xxxx:~-6! if !yyyy! GEQ 10240 ( c:\windows\system32\shutdown /r /f /t 30 ) else ( echo --------- echo lsass.exe program handles number is %%i ) ) 注释: 1. 关闭显示输出 2. 设定变量延迟扩展(https://www.jb51.net/article/29323.htm) 3. 使用handle(https://docs.microsoft.com/en-us/sysinternals/downloads/handle)查询lsass.exe程序当前的进程数量,并重定向到临时文件内 4. 使用for tokens 分割临时文件内容,并截取第3段内容 5. 对数字变量%i补0,以满足数字位数要求 6. 对数字变量