中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 12:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教如何检测内存小于一个值跳转到一个命令 查看 820 回复 5
楼 主 请教如何检测内存小于一个值跳转到一个命令 发表于 2007-02-20 06:42 ·  中国 香港
初级用户
★★
积分 172
发帖 77
注册 2006-11-23 15:05
19年会员
UID 71489
性别 男
状态 离线
如何检测内存小于一个值跳转到一个命令

比如,我的内存用一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

后面应该如何写呢???
2 发表于 2007-02-20 08:26 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
对vbs有兴趣,帮你顶一下
3 发表于 2007-02-20 08:27 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
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 ]
4 发表于 2007-02-20 08:53 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
@echo off
for /f "tokens=2 delims=:" %%i in ('"cscript //nologo 45.vbs"') do (
if %%i GEQ 800000 (exit) else (dir d:\)
)
pause
5 发表于 2007-02-20 08:54 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
3楼的纯vbs,我超喜欢
6 发表于 2007-02-20 10:45 ·  中国 浙江 杭州 萧山区 电信
初级用户
★★
积分 172
发帖 77
注册 2006-11-23 15:05
19年会员
UID 71489
性别 男
状态 离线
太谢谢了,我是用于自动修改虚拟内存用的
论坛跳转: