Board logo

标题: [原创]一句话,整理内存(WMI+VBS+HTA+BAT) [打印本页]

作者: electronixtar     时间: 2006-9-16 11:58    标题: [原创]一句话,整理内存(WMI+VBS+HTA+BAT)

CODE:  [Copy to clipboard]
for /f "delims=" %a in ('wmic memlogical get TotalPhysicalMemory^| findstr /i /v "TotalPhysicalMemory"') do @set /a est=%a*800&&mshta vbscript:s=space(%est%)(settimeout("window.close",10000))  
这句话太长了一句显示不完。基本意思就是用wmic查询内存数(单位KB),然后set /a 得到内存字节数的80%,然后mshta调用vbscript协议,使用space函数申请一个巨大的内存空间,用settimeout延时推出。这样Windows会把当前进程尽量压到磁盘缓存从而获得内存空间。

不会使用cmd的朋友可以直接用这个 快捷方式:


有的朋友反应运行后没有效果,这是由于wmic的“延迟“的特性引起的,解决方法是:多运行几次命令即可。但是注意下:不要太多了哈,太多了Windows会马上报告 虚拟内存不足,呵呵

[ Last edited by electronixtar on 2006-9-16 at 12:08 ]
附件 1: 整理内存.rar (2006-9-16 11:58, 926 bytes, 下载附件所需积分 1 点 ,下载次数: 202)

作者: namejm     时间: 2006-9-16 12:27
  一句话就包含了那么多东西,并且功能十分强悍,PF。
作者: namejm     时间: 2006-9-17 12:13
  对于for语句,其实还可以精简为如下语句形式:
CODE:  [Copy to clipboard]
@echo off
for /f "skip=1" %%i in ('wmic memlogical get TotalPhysicalMemory') do echo memory is %%i KB
pause

作者: electronixtar     时间: 2006-9-18 00:01
CODE:  [Copy to clipboard]
for /f "skip=1" %a in ('wmic memlogical get TotalPhysicalMemory') do @set /a est=%a*800&&mshta vbscript:s=space(%est%)(settimeout("window.close",10000))  
已改,谢谢。看来还是专业批处理人士来得直接 ^_^
作者: fastslz     时间: 2006-9-18 00:46
呵呵...2个高手合力出手,高....
作者: lxmxn     时间: 2006-10-29 04:35


  Quote:
Originally posted by electronixtar at 2006-9-16 11:58:
[code]
for /f "delims=" %a in ('wmic memlogical get TotalPhysicalMemory^| findstr /i /v "TotalPhysicalMemory"') do @set /a est=%a*800&&mshta vbscript:s=space(%est%)(set ...

基本意思就是用wmic查询内存数(单位KB),然后set /a 得到内存字节数的80%


  这里有点不懂:
  用的是"set /a est=%a*800",应该是把得到的内存总数"%a"乘以800的值赋给了变量est啊,按道理来说是把内存字节数扩大了800倍啊,怎么楼主说是"得到内存字节数的80%"呢,实在是搞不懂,请楼主解释一下原因,呵呵。

作者: vkill     时间: 2006-10-29 05:20
汗~这个是est 写的啊~我第一次看是在别的网站上看到的,汗~
作者: electronixtar     时间: 2006-10-29 07:34
那个网站?拖出去毙了

  Quote:
内存字节数的80%

因为 wmic 得到的数字是以 KB 为单位的

[ Last edited by electronixtar on 2006-10-29 at 07:38 AM ]
作者: yangzhiyi     时间: 2006-10-29 09:20
一个字,强
作者: ccwan     时间: 2006-10-29 20:55
运行快捷方式后,出现提示框:当前页的脚本发生错误。
                       行:         1
                       字符:      9
                       错误:      无效字符
                       代码:      0
                       URL:         vbscript:s=space(%est%)(settimeout                      ("window.close",10000)
作者: ccwan     时间: 2006-10-29 20:57
请问是怎么回事?
作者: vkill     时间: 2006-10-30 03:07


  Quote:
Originally posted by electronixtar at 2006-10-29 07:34:
那个网站?拖出去毙了


因为 wmic 得到的数字是以 KB 为单位的

[ Last edited by electronixtar on 2006-10-29 at 07:38 AM ]

http://www.dormforce.net/Forums/2342/ShowPost.aspx

再仔细一看,晕,那还不是你吗?呵呵
作者: electronixtar     时间: 2006-10-30 03:18
额,说实在的,这句代码只是演示 vbs+wmic+bat+lnk 的综合效果,失败了很正常的,多运行几次就成功了。
作者: fastslz     时间: 2006-10-30 03:36
呵呵~

欢迎光临 栋力无限。本论坛仅对本校学生开放,请直接使用教务处(研究生院)学号

est


职务: 超级管理员

等级: 师长
注册: 2006年7月21日
积分: 1,005
精华: 4
发贴: 825
作者: electronixtar     时间: 2006-10-30 04:29
精华: 4
其实都是我自己加的,哇咔咔




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5