我正在尝试使用批处理和VB.net从计算机上可用的所有逻辑驱动器获取可用磁盘空间。使用“wmic”我得到所需的输出然后使用VB将'bytes'值转换为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中读取它。
答案 0 :(得分:0)
找到解决方案!!
WMI的输出采用unicode格式,需要转换为ASCII格式,以便VB能够读取它。
转换使用TYPE命令(批处理),如下所示
TYPE diskspace.txt > NEWdiskspace.txt