|
tclshx
中级用户
积分 249
发帖 64
注册 2005-6-3
状态 离线
|
『楼 主』:
求一个能判断物理内存大小的批处理
运行时能判断内存的大小,若内存为128以下则运行1项,若内存为150以上则运行2项
[ Last edited by tclshx on 2006-10-29 at 02:41 AM ]
|
|
2006-10-29 01:45 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
2 楼』:
systeminfo|find "物理内存总量"
|
|
2006-10-29 01:48 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
|
2006-10-29 01:58 |
|
|
zerocq
中级用户
积分 458
发帖 196
注册 2006-10-5
状态 离线
|
『第
4 楼』:
for /f "tokens=1-2" %a in ('systeminfo^|find "物理内存总量"') do @echo %b&&set i=%b
if ........
|
|
2006-10-29 02:09 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
5 楼』:
要真是内存为128MB以下估计运行XP本身都得等疯了,哈哈~:)
估计楼主是做启动盘等用到的内存虚拟盘或是纯DOS要用到的(瞎猜,楼主忘写清楚了只能瞎猜:)
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-10-29 02:37 |
|
|
tclshx
中级用户
积分 249
发帖 64
注册 2005-6-3
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by redtek at 2006-10-29 02:37 AM:
要真是内存为128MB以下估计运行XP本身都得等疯了,哈哈~:)
估计楼主是做启动盘等用到的内存虚拟盘或是纯DOS要用到的(瞎猜,楼䠮.. |
|
用来安装XPE到硬盘,当内存为128M以下时,安装适合该内存的XPE,当内存为150M内上时安装适合该内存的XPE
|
|
2006-10-29 02:44 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
7 楼』:
MS-DOS 6.22 的 MEM.EXE 只能看到 64MB内存为上限,
(上面是我个人测试结果,不代表正确性或是通用性,也不代表某种暗示和定义)。
在VMware 虚拟机上给 MS-DOS 6.22 虚拟系统分配512MB和其它大小内存,
发现mem.exe只能看到64MB以下内存,再大的内容看不到。
Conventional Memory Detail:
Segment Total Name Type
------- ---------------- ----------- --------
00000 1,039 (1K) Interrupt Vector
00040 271 (0K) ROM Communication Area
00050 527 (1K) DOS Communication Area
00070 2,656 (3K) IO System Data
CON System Device Driver
AUX System Device Driver
PRN System Device Driver
CLOCK$ System Device Driver
A: - C: System Device Driver
COM1 System Device Driver
LPT1 System Device Driver
LPT2 System Device Driver
LPT3 System Device Driver
COM2 System Device Driver
COM3 System Device Driver
COM4 System Device Driver
00116 5,072 (5K) MSDOS System Data
00253 7,616 (7K) IO System Data
1,104 (1K) XMSXXXX0 Installed Device=HIMEM
1,488 (1K) FILES=30
256 (0K) FCBS=4
512 (1K) BUFFERS=15
2,288 (2K) LASTDRIVE=Z
1,856 (2K) STACKS=9,128
0042F 80 (0K) MSDOS System Program
00434 2,656 (3K) COMMAND Program
004DA 80 (0K) MSDOS -- Free --
004DF 272 (0K) COMMAND Environment
004F0 96 (0K) MEM Environment
004F6 16 (0K) MSDOS -- Free --
004F7 2,864 (3K) DOSIDLE Program
005AA 4,144 (4K) DOSKEY Program
006AD 88,992 (87K) MEM Program
01C67 536,976 (524K) MSDOS -- Free --
Memory Summary:
Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 653,312 27,248 626,064
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 66,060,288 65,536 65,994,752
---------------- ---------- ---------- ----------
Total memory 66,713,600 92,784 66,620,816
Total under 1 MB 653,312 27,248 626,064
Memory accessible using Int 15h 0 (0K)
Largest executable program size 625,952 (611K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.
XMS version 3.00; driver version 3.16 (不知道是否有其它工具可以看到)
(或用Turbo C等编一个,或是汇编也可以得到物理内存总量--我不会)
(你可以参考一下别的带有分配不同大小虚拟盘的启动盘上所用的方法或什么工具)
[ Last edited by redtek on 2006-10-29 at 05:14 AM ]
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-10-29 05:12 |
|
|
tclshx
中级用户
积分 249
发帖 64
注册 2005-6-3
状态 离线
|
|
2006-10-29 21:54 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
9 楼』:
刚安装完 MS-DOS7.10,
在这个版本的 MS-DOS 7.10上可以MEM.EXE可以看到实际内容大小。
(试验给虚拟机里的 MS-DOS7.10分配了256MB大小的内存,看到了~:)
(后,将MS-DOS7.10的MEM.EXE拷贝到了MS-DOS6.22上,
并设置虚拟机内存为256MB,结果看到的还是 64MB内存。给MS-DOS6.22再多内存也看不到了)
但并不代表MS-DOS6.22就真的看不到实际内存大小,
只是(可能)由于内存管理驱动himem.sys或是别的原理造成,还没试验。
……
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-10-29 23:20 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2006-10-29 23:27 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
11 楼』:
使用 MS-DOS7.10 与 MS-DOS6.22 不同版本的 MEM.EXE 观察内存总数,
然后除以 1024KB 取得MB,最后是 MS-DOS 7.10 可以得出准确的MB数,
而 MS-DOS 6.22只能得到相近的数字(表面上看不太准确,但并不表示有问题或其它)
CONFIG.SYS内容如下:
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH,UMB
FILES=30 MS-DOS 6.22 HIMEM.SYS 大小:19136
MS-DOS 7.10 HIMEM.SYS 大小:33191
) 在MS-DOS 6.22 版本下,加载 MS-DOS 7.10版本中的 HIMEM.SYS,
还必须使用 MS-DOS 7.10 版的 MEM.EXE 才可以看到准确的大小64MB的内存。
而此时如果使用 MS-DOS 6.22 自带的 MEM.EXE 仍看不到大于 64MB的内存。
) 但是,在 MS-DOS 6.22 版本下,如果加载的是自带的(非MS-DOS 7.10)版的 HIMEM.SYS,
那么,用任何一版(MS-DOS 6.22 或是 MS-DOS 7.10)的 MEM.EXE都不能看到大于64MB 的内存。
) 以上实验暂时确定为 himem.sys 与 mem.exe 版本问题。
MS-DOS 6.22版的himem.sys为94年版,1995年的32MB内存条(组合)中国售价约 9000元人民币!
要是合成现在内存价格1G约为 2万元,哈哈……(假设)
那个时代没有这么大的内存,所以那个年代的himem.sys用不着判断再大的内存。
) 还是 MS-DOS 7.10 过瘾:)
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-10-29 23:54 |
|
|
jenejhon
新手上路
积分 1
发帖 1
注册 2010-5-4
状态 离线
|
『第
12 楼』:
dos下利用MEM和DD获得内存大小(设想)
在DOS下,建立TESTMEM.bat运行MEM >MEM.TXT
利用DD截取内存总数写到批处理中echomem.bat。以下是TESTMEM.bat内容:
testmem.bat:
@echo off
mem >mem.txt
dd ......
echomem.bat:
@echo off
set nAllMem=9999999
echo "物理内存大小是: %nAllMEM% KB
以上只是设想,应该可以实现。
|
|
2010-6-10 11:33 |
|
|
nylxhu
新手上路
积分 1
发帖 1
注册 2010-8-12
状态 离线
|
|
2010-8-16 15:54 |
|
|