我正在尝试使用batch和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中无法读取。
发布于 2012-10-05 08:47:03
找到解决方案了!!
WMI的输出为unicode格式,需要将其转换为ASCII格式,以便VB能够读取。
要进行转换,请使用TYPE命令(批处理),如下所示
TYPE diskspace.txt > NEWdiskspace.txthttps://stackoverflow.com/questions/12737521
复制相似问题