如何让CMD脚本每2秒检测Chrome CPU使用率并达标后终止进程?
解决Chrome CPU使用率低时自动终止的CMD脚本问题
你的原脚本存在几个问题:SET命令的空格会导致变量名异常,wmic输出格式无法直接用于数值比较,且你尝试的是Bash语法,CMD不支持until/do/done结构。以下是修正后的完整脚本,实现每2秒检测一次,满足条件时终止Chrome并关闭CMD窗口:
@echo off :loop :: 提取Chrome进程的CPU使用率,处理wmic输出的冗余格式 for /f "skip=1 tokens=2 delims= " %%a in ('wmic path Win32_PerfFormattedData_PerfProc_Process get Name^,PercentProcessorTime ^| findstr /i /c:chrome') do ( set "ProcessorUsage=%%a" ) :: 判断CPU使用率是否低于2% if %ProcessorUsage% LSS 2 ( taskkill /f /im chrome.exe exit /b ) :: 等待2秒后再次检测 timeout /t 2 /nobreak >nul goto loop
关键说明:
@echo off:关闭命令回显,避免输出执行过程的冗余信息:loop+goto loop:构建CMD的循环逻辑,实现重复检测for /f命令:跳过wmic输出的表头行,提取Chrome进程的CPU使用率数值,处理掉输出中的多余空格和空行timeout /t 2 /nobreak >nul:实现2秒延迟,>nul隐藏timeout的默认提示文本exit /b:满足终止条件时,关闭当前CMD窗口
内容的提问来源于stack exchange,提问作者Tyrone Hirt
相关产品推荐
相关产品推荐

