标题: [文件操作] [已解决]批处理获取物理内存总量的问题 [打印本页]
作者: 大地 时间: 2019-3-27 10:43 标题: [已解决]批处理获取物理内存总量的问题
求助批处理获取物理内存的问题
因用systeminfo组件缺失,所以改用fbinst。
如下代码正常运行:
fbinst --meminfo-t ^ |find "物理内存总量"
用如下代码时没准确执行(闪退):- for /f "tokens=2" %%a in ('fbinst --meminfo-t ^ |find "物理内存总量"') do set "str=%%a"
- set "str=%str:,=%"
-
-
- if %str% lss 2100 (
- goto menu1
- ) else (goto menu2)
复制代码
............................
该如何修改 望大神邦忙 谢谢。
作者: Batcher 时间: 2019-3-27 11:17
把 @echo off 删掉
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat
这样可以看到详细的报错信息或者线索。如果自己看不懂,就发出来大家一起看看。
作者: Batcher 时间: 2019-3-27 11:18
^ |
这两个字符中介的空格需要删掉
作者: 大地 时间: 2019-3-27 11:34
回复 2# Batcher
没有@echo off
好像问题出在下半部份 上半部份没有闪退 不知道是不是 ??
f %str% lss 2100 (
goto menu1
) else (goto menu2)
作者: 大地 时间: 2019-3-27 11:38
回复 3# Batcher
空格试了 没作用
作者: zaqmlp 时间: 2019-3-27 12:23
"tokens=2 delims=:"
作者: Batcher 时间: 2019-3-27 13:08
回复 4# 大地
变量str没有取到值,需要给for命令加上delims=:指定冒号作为列分隔符。
作者: 大地 时间: 2019-3-27 13:09
回复 6# zaqmlp
谢谢 测试成功,而且还比systeminfo快了很多,好开心
重新整理一下,代码如下:
color 2f
mode con: cols=70 lines=20
for /f "tokens=2 delims=:" %%a in ('fbinst --meminfo-t^|find "物理内存总量"') do set "str=%%a"
set "str=%str:,=%"
if %str% lss 1100 (
goto menu1
) else (goto menu2)
:menu1
md f:\AAAAAAA
:menu2
md f:\BBBBBBB
作者: Batcher 时间: 2019-3-27 13:22
回复 8# 大地
md f:\AAAAAAA
goto :eof
如果这里不结束:menu1的话,它会继续往下执行:menu2
作者: 大地 时间: 2019-3-27 14:09
回复 9# Batcher
确实如此 需要加上 goto :eof
谢谢大师
作者: hnfeng 时间: 2019-3-28 09:02
fbinst 在第三方库 中没找到,论坛也没搜到。请问一下楼主,有没有这个官网地址?或者比较全的软件包(想看看说明,--help 里面居然没找到 --meminfo 和 --meminfo-t 参数,但是确实能用)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |