0

我正在尝试使用批处理和 VB.net 从计算机上所有可用的逻辑驱动器中获取可用磁盘空间。使用“wmic”我得到所需的输出,然后使用 VB 将“字节”值转换为 MB/GB/KB,但问题是我无法让 VB 脚本读取“wmic”命令的文本输出。下面是“wmic”代码。

wmic LogicalDisk Where DriveType="3" Get DeviceID,FreeSpace > Diskspace.txt

下面的vb代码读取'diskspace.txt'文件

Set objFSO = CreateObject ("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile ("diskspace.txt",1)
Contents = objFile.Readall
objFile.close

关键是有没有一种更简单的方法可以从系统上的所有逻辑驱动器中获取可用空间?或者我在上面的代码中做错了什么。

我还在 wmic 中尝试了“/format:csv”参数,但无法让它在 VB 中读取。

4

1 回答 1

0

找到解决方案!!

WMI 的输出是 unicode 格式,需要转换为 ASCII 格式以便 VB 能够读取它。

要转换使用 TYPE 命令(批处理),如下所示

TYPE diskspace.txt > NEWdiskspace.txt
于 2012-10-05T00:47:03.233 回答