中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求所有分区已用/未用空间的精确值(hta脚本)
楼 主 求所有分区已用/未用空间的精确值(hta脚本) 发表于 2007-03-12 06:07 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
今天从网上淘到的,原是GB,改为MB,并稍加修改了界面

hta脚本(扩展名为hta)
<html>
<head>

<title>磁盘空间查看脚本</title>

<hta:application
applicationname="磁盘空间查看脚"
border="dialog"
borderstyle="normal"
caption="yes"
contextmenu="no"
maximizebutton="no"
minimizebutton="yes"
navigable="no"
scroll="yes"
selection="no"
showintaskbar="yes"
singleinstance="yes"
sysmenu="yes"
version="1.0"
windowstate="normal"
>

<script language="vbscript">
<!-- Insert code, subroutines, and functions here -->
window.resizeTo 500, 420
ileft=(window.screen.width-500)/2
itop=(window.screen.height-420)/2
window.moveTo ileft,itop

Sub Window_onLoad
GetDiskSpace
End Sub

Sub GetDiskSpace
Const HARD_DISK = 3
Const Size = 1048576

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
strHTML = "<table align=center width=95% borderColor=#698cc2 border='1' cellSpacing='0' cellpadding='1'>"
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td width=110px align=center><font size=2><b>" & "分区" & "</b></td>"
strHTML = strHTML & "<td width=110px align=center><font size=2><b>" & "容量" & "</b></td>"
strHTML = strHTML & "<td width=110px align=center><font size=2><b>" & "已用" & "</b></td>"
strHTML = strHTML & "<td width=110px align=center><font size=2><b>" & "未用" & "</b></td>"
strHTML = strHTML & "<td width=110px align=center><font size=2><b>" & "空闲" & "</b></td>"


For Each objDisk In colDisks
intFreeSpace = objDisk.FreeSpace/Size
intTotalSpace = objDisk.Size/Size
pctFreeSpace = intFreeSpace/Size/ intTotalSpace/Size
infFuLin = intTotalSpace-intFreeSpace
DeviceID = objDisk.DeviceID
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td width=110px align=center>" & DeviceID & "</td>"
strHTML = strHTML & "<td width=110px align=right>" & FormatNumber(intTotalSpace,2,-1,-1,0) & "</td>"
strHTML = strHTML & "<td width=110px align=right><font color=#DB2C00>" & FormatNumber(infFuLin,2,-1,-1,0) & "</td>"
strHTML = strHTML & "<td width=110px align=right><font color=#008080>" & FormatNumber(intFreeSpace,2,-1,-1,0) & "</td>"
strHTML = strHTML & "<td width=110px align=right>" & FormatPercent(intFreeSpace/intTotalSpace) & "</td>"

Next
strHTML = strHTML & "</table>"
DataArea.InnerHTML = strHTML
End Sub

</script>
</head>

<body>
<!-- HTML goes here -->
<table align=center width=95%><font color="#C63358"><b>磁盘空间查看脚本</b></font><br>
<font size="2">显示各磁盘分区使用情况(<font color="#FF0000">/MB</font>)</font></font></table>
<body bgcolor="#99CCFF">
<span id = "DataArea"></span>
</body>
</html>


附件为原作者的代码文件

[ Last edited by zh159 on 2007-3-12 at 10:46 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lxmxn +4 2007-03-12 09:37
附件
自己修改的磁盘空间查看脚本界面.gif
原磁盘空间查看脚本.rar (1.54 KiB, 下载附件所需积分 1 点, 下载次数: 43)
2 发表于 2007-03-12 07:10 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
沙发!
这是个好东西,谢谢分享。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-03-12 07:14 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
这是显示GB的。
附件
snap.gif
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2007-03-12 07:20 ·  中国 浙江 绍兴 诸暨市 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
UID 80606
性别 男
状态 离线
不用vb 用DOS命令+html能做出这样的效果来吗?
5 发表于 2007-03-12 08:06 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
UID 79596
性别 男
来自 安徽
状态 离线
看看
6 发表于 2007-03-12 09:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
  弄一个简单的WMIC的吧:(适用Windows xp 以上系统)

@echo off
wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable.xsl
start a.html


[ Last edited by lxmxn on 2007-3-11 at 08:53 PM ]
7 发表于 2007-03-12 12:18 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
UID 60532
状态 离线
a.html在哪里呀?
8 发表于 2007-03-13 03:26 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
UID 55770
状态 离线
Originally posted by lxmxn at 2007-3-12 09:51:
  弄一个简单的WMIC的吧:(适用Windows xp 以上系统)

@echo off
wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSp ...


:)应该在system32 里面吧
9 发表于 2007-03-13 03:30 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by anqing at 2007-3-11 23:18:
a.html在哪里呀?


  在批处理文件所在的目录中。
10 发表于 2007-03-13 04:03 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
UID 81417
性别 男
来自 GZ
状态 离线
我觉得原创的显示GB方式简洁好用。lxmxn 的方法更简单,真佩服你的脚本技术,能否把此信息创建到当前下的一个文本中呢?
11 发表于 2007-03-13 04:11 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by axi at 2007-3-12 15:03:
我觉得原创的显示GB方式简洁好用。lxmxn 的方法更简单,真佩服你的脚本技术,能否把此信息创建到当前下的一个文本中呢?


  方法有多种:

  将所生成的信息定向到a.txt:
  1、
wmic /output:a.txt logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem

  2、
wmic logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem>a.txt
12 发表于 2007-03-13 05:51 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
UID 81417
性别 男
来自 GZ
状态 离线
能否使 ”磁盘空间查看脚本“ 的窗体高度根据内容自动调整。
13 发表于 2007-08-22 20:59 ·  中国 四川 成都 电信
新手上路
积分 10
发帖 5
注册 2006-11-22 03:52
UID 71321
性别 男
状态 离线
支持多硬盘不||??
14 发表于 2007-08-25 14:28 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 132
发帖 59
注册 2007-08-23 21:24
UID 95705
性别 男
来自 GuangZhou
状态 离线
29729.63MB 很不直观
还是17.1GB 直观些
毕竟现在的硬盘动辄数百GB级了
15 发表于 2007-11-28 14:26 ·  中国 上海 联通
新手上路
积分 3
发帖 1
注册 2007-11-28 13:55
UID 104046
性别 男
状态 离线
thanks
论坛跳转: