zhurongfei 发表于 2011-4-15 22:40:34

关于AU3脚本处理DirGetSize时CPU使用率高的问题!

本帖最后由 zhurongfei 于 2011-4-15 22:43 编辑

最近编写了一个自动删除文件的脚本,我的意思是维持文件夹的大小,比如说是10G。当超过10G时就自动删除文件夹里的早期文件,当然这个文件夹是有其他程序向里写文件的,而且里面的文件夹路径深,文件多。容量会增加,这样在每次循环的开始就要使用DirGetSize判断文件夹的大小,运行起来CPU使用率特别高。我已经加了Sleep了,CPU使用率还是高。这个问题有没有办法解决!

mo_shaojie 发表于 2011-4-16 06:56:52

楼主循环不断判断的?

guang19831217 发表于 2011-4-16 12:26:24

循环判断太多了吧,分开些或延迟长些循环因该好点吧。

love5173 发表于 2011-4-16 18:24:03

对于这个即时更新问题我也想知道,帖子不要沉

zhurongfei 发表于 2011-4-16 21:18:20

回复 2# mo_shaojie


    是要不断判断,因为这个文件夹是在不停向里写文件的,不判断,删多了怎么办?

zhurongfei 发表于 2011-4-16 21:21:50

回复 3# guang19831217


    我文件夹正常应该有30GB,延时太久,删除还没有写入快,也是不可以的,就算延时很长,那CPU照样还是使用率高,我觉得脚本运行起来,CPU使用率如果超过30%,脚本是不可用的~

love5173 发表于 2011-4-17 22:28:09

刚才试验了 dir e:|find “字节” 命令 反复使用 CPU没超过2% 楼主试试

zhurongfei 发表于 2011-4-18 19:50:21

回复 7# love5173

我知道,在你的文件夹里如果路径不深而且没有那么多小文件,DIR是很快!

比如你的文件夹有5,6层,然后不同层都有很多的excel或是word文件。然后你在

试试你的dir的速度,是不是很慢,就算删除1G的文件也要很久的。

zhurongfei 发表于 2011-4-19 15:50:50

没有什么办法,只能用driverspacefree,它的速度快很多,不好的地方就是获取整个磁盘的!
页: [1]
查看完整版本: 关于AU3脚本处理DirGetSize时CPU使用率高的问题!