2012-10-04 3 views
0

배치 및 VB.net을 사용하여 컴퓨터에서 사용할 수있는 모든 논리 드라이브에서 사용 가능한 디스크 공간을 확보하려고합니다. "wmic"을 사용하여 필요한 출력을 얻은 다음 VB에서 MB/GB/KB로 '바이트'값을 변환하지만 문제는 'wmic'명령에서 텍스트 출력을 읽는 VB 스크립트를 얻을 수 없습니다. 아래는 'wmic'코드입니다. 'diskspace.txt'파일사용 가능한 드라이브의 총 여유 공간 나열 VB.net

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

점의 복지 시스템의 모든 논리 드라이브에서 사용 가능한 공간을 얻을 수있는 간단한 방법이있다을 읽을 수있는 VB 코드 아래

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

? 또는 위의 코드에서 뭔가 잘못하고 있습니다.

또한 wmic에서 "/ format : csv"매개 변수를 시도했지만 VB에서는 읽을 수 없습니다.

답변

0

해결책을 찾았습니다 !!

WMI의 출력은 유니 코드 형식이므로 VB에서 읽을 수 있도록 ASCII 형식으로 변환해야합니다.

은 다음과 같이 사용에게 TYPE 명령 (배치)을 변환하려면

TYPE diskspace.txt > NEWdiskspace.txt 
관련 문제