2012-10-04 16 views
0

我試圖從計算機上使用批處理和VB.net的所有可用邏輯驅動器中獲取可用磁盤空間。使用「wmic」我得到所需的輸出,然後使用VB將「字節」值轉換爲MB/GB/KB,但問題是我無法讓VB腳本讀取'wmic'命令的文本輸出。以下是'wmic'代碼。列出可用驅動器中的總可用空間VB.net

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

找到解決方案!

WMI的輸出採用Unicode格式,需要將VB格式轉換爲ASCII格式才能讀取。

要轉換使用TYPE命令(批)如下面

TYPE diskspace.txt > NEWdiskspace.txt 
相關問題