中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教如何检测内存小于一个值跳转到一个命令
作者:
标题: 请教如何检测内存小于一个值跳转到一个命令 上一主题 | 下一主题
cjfcjf222
初级用户





积分 172
发帖 77
注册 2006-11-23
状态 离线
『楼 主』:  请教如何检测内存小于一个值跳转到一个命令

如何检测内存小于一个值跳转到一个命令

比如,我的内存用一VBS检测是720372 ,我想在批处理中写小于800000时执行一个批处理命令

VBS内容如下:1.vbs
strComputer = "localhost"
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
  WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory
Next

批处理命令如下:(执行批处理能检测内存具体数值)
for /f "tokens=5" %%i in ('"cscript //nologo 1.vbs"') do set sysmem=%%i

后面应该如何写呢???

2007-2-20 06:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 2 楼』:  

对vbs有兴趣,帮你顶一下

2007-2-20 08:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 3 楼』:  

VBS修改:
strComputer = "localhost"
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
  WScript.Echo wbemObject.TotalPhysicalMemory
Next
去掉了:"Total Physical Memory (kb): " &

BAT:
for /f %%i in ('"cscript //nologo 1.vbs"') do if %%i LSS 800000 执行命令
如果命令多:
for /f %%i in ('"cscript //nologo 1.vbs"') do if %%i GEQ 800000 exit
执行命令
纯VBS:
strComputer = "localhost"
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")
Set WSHShell = WScript.CreateObject("WScript.Shell")

For Each wbemObject In wbemObjectSet
if wbemObject.TotalPhysicalMemory < 800000 then WshShell.Run "执行命令"
Next
[ Last edited by zh159 on 2007-2-19 at 07:42 PM ]

2007-2-20 08:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 4 楼』:  

@echo off
for /f "tokens=2 delims=:" %%i in ('"cscript //nologo 45.vbs"') do (
if %%i GEQ 800000 (exit) else (dir d:\)
)
pause

2007-2-20 08:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 5 楼』:  

3楼的纯vbs,我超喜欢

2007-2-20 08:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cjfcjf222
初级用户





积分 172
发帖 77
注册 2006-11-23
状态 离线
『第 6 楼』:  

太谢谢了,我是用于自动修改虚拟内存用的

2007-2-20 10:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: