中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 12:08
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]征寻统计计算机硬件配置的脚本?
可打印版本  1,049 / 13
第1楼 szww 发表于 2008-08-19 18:51
初级用户 发帖 28 积分 59
[求助]征寻统计计算机硬件配置的脚本?
想要实现收集计算机主要硬件指标的脚本:
主要包括
CPU: 内存,硬盘,光驱有无
主机名,IP地址及网关,DNS等。

后面的用ipconfig /all 2>nul | findstr "ip gatewar dns" >result.txt 能比较容易实现,但前面的一些硬件设备信息不知有无高人实现。
我使用了一些VBS脚本,但内容过于冗长。。。。。


力求结果精简明了。
第2楼 pusofalse 发表于 2008-08-19 19:25
银牌会员 发帖 646 积分 1,604
硬件指标。。。?说得太过模糊了。
第3楼 knoppix7 发表于 2008-08-19 19:40
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
systeminfoXXX?
第4楼 HAT 发表于 2008-08-19 20:50
版主 发帖 5,017 积分 9,023
转帖
第5楼 szww 发表于 2008-08-20 09:36
初级用户 发帖 28 积分 59
非常感谢楼上HAT 提供如此精彩的脚本。
略显遗憾,程序执行时间较长。因为我设置的是域关机脚本,不想让大家感觉关机时间过长。
先试试添加IP等其他信息的搜集,的确比较完美了。
第6楼 szww 发表于 2008-08-20 10:54
初级用户 发帖 28 积分 59
在下面一行,我加入输出到文本文件后,出现输入编码及格式错误。不知有没有办法解决。(不输出到文本文件,在屏幕显示内容及格式正常)
wmic LOGICALDISK where mediatype='12' get description,deviceid,filesystem,size,freespace >> c:\%computername%.txt

结果如下(在记事本中打开有乱码且没有分行):

分区信息:
D e s c r i p t i o n D e v i c e I D F i l e S y s t e m F r e e S p a c e S i z e

,g0W鶹歔義豽 C : N T F S 2 3 6 9 6 8 7 5 5 2 1 2 5 8 4 6 4 4 6 0 8

,g0W鶹歔義豽 D : N T F S 4 3 3 9 7 4 0 6 7 2 4 4 7 6 1 9 3 9 9 6 8

,g0W鶹歔義豽 E : N T F S 4 3 7 2 0 2 1 2 4 8 1 0 2 6 9 2 5 8 5 4 7 2

[ Last edited by szww on 2008-8-20 at 10:55 AM ]
第7楼 flyinspace 发表于 2008-08-20 10:57
银牌会员 发帖 517 积分 1,206
编码格式问题了。

检查你计算机的编码格式,本机上修正就可以了。
第8楼 szww 发表于 2008-08-20 14:47
初级用户 发帖 28 积分 59
同样的vmic输出,其他的编码格式是正常的,却唯独这里不匹配!?
在代码中如何修改以纠正呢?
第9楼 flyinspace 发表于 2008-08-20 15:00
银牌会员 发帖 517 积分 1,206
D e s c r i p t i o n D e v i c e I D F i l e S y s t e m F r e e S p a c e S i z e
这里可能是 unicode 编码格式

但你在显示器上应该显示的是:Description DeviceID FileSystem FreeSpace Size

你把代码页改成 chcp 936 试下?
第10楼 szww 发表于 2008-08-20 16:10
初级用户 发帖 28 积分 59
Originally posted by flyinspace at 2008-8-20 03:00 PM:
D e s c r i p t i o n D e v i c e I D F i l e S y s t e m F r e e S p a c e S i z e
这里可能是 unicode 编码格式

但你在显示器上应该显示的是:Descriptio ...


具体是指在我的BAT中设置代码还是在显示的程序中,确实不懂如何设置啊?

不知与语言版本是否有关系。
当前语言 = n|US|iso8859-1

[ Last edited by szww on 2008-8-20 at 04:26 PM ]
第11楼 szww 发表于 2008-08-21 11:32
初级用户 发帖 28 积分 59
上面的脚本取的CPU个数值意义不大,但对是否为双核 不知能否判断!

[ Last edited by szww on 2008-8-21 at 11:45 AM ]
第12楼 flyinspace 发表于 2008-08-21 15:28
银牌会员 发帖 517 积分 1,206
%NUMBER_OF_PROCESSORS%判断几个cpu呀。

你把语言设置为 简体中文吧。
第13楼 HAT 发表于 2008-08-21 15:38
版主 发帖 5,017 积分 9,023
%NUMBER_OF_PROCESSORS%在单个双核CPU系统中的值是2
它不能判断物理CPU的个数
第14楼 szww 发表于 2008-08-21 16:49
初级用户 发帖 28 积分 59
谢谢,已经用变量实现内核数量输出。
但仍然有以下两个bug:
1、那行乱码始终无法解决,不知何故!

尝试了用437、850 和936都无法将结果{本地固定磁盘} 正常输出到TXT,其中仍然显示乱码{鶹歔義豽},但在DOS下ECHO输出唯有936下正常??????

chcp 437>nul
850
936

2、在多网卡的电脑中,无法使用index号来对当前启用的网卡进行查询,导致有时无法取到正确的IP信息。不知有没更好的办法!

[ Last edited by szww on 2008-8-21 at 06:00 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023