访问逻辑驱动器的空间状态时,总驱动器结果是正确的,但空闲结果不是

时间:2010-10-12 00:31:47

标签: vbscript

问题似乎与Win32_LogicalDisk类的可用空间属性有关,因为它只显示当前登录用户拥有的权限,而不是实际存在的可用空间。

示例代码,但不完全是necc:

Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='Z:'")

' server share, total disk size, total disk free, percent free
tmpStatus = tmpStatus & arrShares(i) & "," & FormatNumber((objLogicalDisk.size / GBCONVERSION),,-1) & "," & _
FormatNumber((objLogicalDisk.FreeSpace / GBCONVERSION),,-1) & "," & _
((objLogicalDisk.FreeSpace / GBCONVERSION) / (objLogicalDisk.size / GBCONVERSION) * 100) & "@"

注意:这适用于虚拟服务器网络共享,因此驱动器类型为4

有更好的方法吗?同样,总驱动器空间是正确的,但是从我在MSDN上找到的空闲空间开始,它使用当前用户的权限来确定可用空间。必须有另一种/更好的方式。

1 个答案:

答案 0 :(得分:0)

好的,所以诀窍似乎是使用文件系统对象磁盘属性而不是w32_logicaldisk属性。使用FSO,所有数字都是准确的。