Board logo

标题: 请教如何检测内存小于一个值跳转到一个命令 [打印本页]

作者: cjfcjf222     时间: 2007-2-20 06:42    标题: 请教如何检测内存小于一个值跳转到一个命令

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

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

后面应该如何写呢???
作者: anqing     时间: 2007-2-20 08:26
对vbs有兴趣,帮你顶一下
作者: zh159     时间: 2007-2-20 08:27
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 ]
作者: anqing     时间: 2007-2-20 08:53
@echo off
for /f "tokens=2 delims=:" %%i in ('"cscript //nologo 45.vbs"') do (
if %%i GEQ 800000 (exit) else (dir d:\)
)
pause
作者: anqing     时间: 2007-2-20 08:54
3楼的纯vbs,我超喜欢
作者: cjfcjf222     时间: 2007-2-20 10:45
太谢谢了,我是用于自动修改虚拟内存用的