[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理怎么检测CPU使用率并执行指定命令?

我做数值模拟的时候,需要大量的计算,晚上想在电脑空闲的时候计算一些东西!
所以现在的问题是上面一些程序不知道会在什么时候结束,时间不确定。
所以我想通过检测CPU使用率的方法来判断前面的程序是否结束了!
我想在使用率低于20%超过15分钟的时候执行下一条命令,不知道这个批处理判断起来好不好实现,
望高手们支支招,帮帮忙!



谢谢楼下两位的热心回答,主要是上面程序结束了他不会自动退出,在任务里面任然在,
只是CPU占用率降低了而已,应该怎么办呢?

[ 本帖最后由 timothy 于 2010-12-25 18:29 编辑 ]

wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value
不推荐用批处理来实现对cpu使用率的监控。

[ 本帖最后由 hanyeguxing 于 2010-12-23 23:51 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

既然程序结束  可以用  TASKLIST  查找程序名  定时查看是否程序结束   程序结束   就执行下一个程序

:)

TOP

原帖由 hanyeguxing 于 2010-12-23 22:29 发表
wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value
不推荐用批处理来实现对cpu使用率的监控。


这位大侠,为什么不推荐用批处理啊

TOP

  1. @echo off
  2. :获取PercentProcessorTime平均值
  3. for /f "skip=1 tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value') do set/a Han+=%%a
  4. set/a Han/=3
  5. :获取标志文件
  6. for %%a in (*.h) do set Ye=%%~na
  7. if "%Ye%"=="#" exit
  8. if "%Ye%"=="" set Ye=0
  9. if %Ye% gtr 15 goto:end
  10. if %Han% lss 20 (set/a Ye+=1) else set Ye=0
  11. cd/d>%Ye%.h
  12. exit
  13. :end:启动程序后退出
  14. start "" "d:\程序.exe"
  15. del /q *.h
  16. cd/d>#.h
复制代码
1,在任务计划中启动该批处理,要求重复为每1分钟一次
2,通过计划是否启用来控制本批处理是否被执行
3,每次开始计划前,需要先手工删除批处理同目录下的 .h 文件

[ 本帖最后由 hanyeguxing 于 2010-12-26 00:35 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

谢谢寒夜孤星,这两天出差去了
太高深了,看不懂啊,
这个怎么检测,怎么计时间?
再麻烦您一次吧,谢谢大侠

TOP

返回列表