中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 11:58
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教:怎样让VBS检测内存后输出一个返还值让BAT检测,
可打印版本  1,002 / 6
第1楼 cjfcjf222 发表于 2007-02-23 07:23
初级用户 发帖 77 积分 172
请教:怎样让VBS检测内存后输出一个返还值让BAT检测,
怎样让VBS检测内存后输出一个返还值让BAT检测,

VBS内存检测如下

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

For Each wbemObject In wbemObjectSet
WScript.Echo wbemObject.TotalPhysicalMemory
Next

我原来的BAT文件

for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 150000 goto 128
for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 280000 goto 256
for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 400000 goto 384
for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 550000 goto 524
for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 800000 goto 780
for /f %%i in ('"cscript //nologo 内存.vbs"') do if %%i LSS 1100000 goto 1G
goto x

然而运行太慢,如果是大内存,要运行VBS好多次,是修改BAT还是修改VBS,请教各位了
第2楼 slore 发表于 2007-02-23 08:24
铂金会员 发帖 2,478 积分 5,212
for /f %%i in ('"cscript //nologo 内存.vbs"') do set TPM=%%i

if %TPM% LSS 150000 goto 128
if %TPM% LSS 150000 goto 128
if %TPM% LSS 280000 goto 256
if %TPM% LSS 400000 goto 384
if %TPM% LSS 550000 goto 524
if %TPM% LSS 800000 goto 780
if %TPM% LSS 1100000 goto 1G
goto x

不知道可以不……
第3楼 cjfcjf222 发表于 2007-02-23 08:37
初级用户 发帖 77 积分 172
谢谢你,我试一下
第4楼 cjfcjf222 发表于 2007-02-23 08:44
初级用户 发帖 77 积分 172
好用了,太谢谢你了,这样就可以只运行一次VBS,我用于自动修改虚拟内存的
第5楼 zh159 发表于 2007-02-23 09:24
金牌会员 发帖 1,467 积分 3,687
稍稍简化 2 楼的:


PS:一般不建议用%temp%、%tmp%变量(系统默认为临时文件夹路径变量)
第6楼 slore 发表于 2007-02-23 10:18
铂金会员 发帖 2,478 积分 5,212
TPM=TotalPhysicalMemory
汗~
第7楼 zh159 发表于 2007-02-23 15:18
金牌会员 发帖 1,467 积分 3,687
Originally posted by slore at 2007-2-22 21:18:
TPM=TotalPhysicalMemory
汗~

看错-_-|||
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023