0

バッチと VB.net を使用して、コンピュータで使用可能なすべての論理ドライブから空きディスク領域を取得しようとしています。「wmic」を使用して必要な出力を取得し、VB を使用して「バイト」値を MB/GB/KB に変換しますが、VB スクリプトで「wmic」コマンドからのテキスト出力を読み取ることができないという問題があります。以下は「wmic」コードです。

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

「diskspace.txt」ファイルを読み取るvbコードの下

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 形式であり、VB が読み取れるようにするには ASCII 形式に変換する必要があります。

変換するには、以下のように TYPE コマンド (バッチ) を使用します

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