本資料はファイル、フォルダ、ドライブなどを扱うオブジェクトFileSystemObjectに含まれているDriveオブジェクトおよびDrivesコレクションについて調査した資料です。
Driveオブジェクトのサンプルコードを以下に記します。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Set drive_obj = fso.GetDrive("c:")
3: WScript.Echo "Total size : " & drive_obj.TotalSize
4: WScript.Echo "Free size : " & drive_obj.FreeSpace
5: WScript.Echo "DriveType : " & drive_obj.DriveType
2行目のGetDriveメソッドによりDriveオブジェクトを取得しています。
3行目から5行目は取得したDriveオブジェクトのTotalSize, FreeSapce, DriveTypeプロパティ値を出力しています。
C:\wsh>cscript /nologo fso_drv_obj.vbs Total size : 85792387072 Free size : 72520994816 DriveType : 2
Drivesコレクションのサンプルコードを以下に記します。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Set drivers_collection = fso.Drives
3: For Each d in drivers_collection
4: WScript.Echo "TypeName(d) : " & TypeName(d)
5: WScript.Echo "DriveLetter : " & d.DriveLetter
6: WScript.Echo "DriveType : " & d.DriveType
7: WScript.Echo "--------"
8: Next
2行目のDrivesメソッドによりDrivesコレクションを取得しています。
取得したDrivesコレクションをFor Eachを使いループします。
4行目から6行目は取得したDriversコレクションの1つ(実体はDriveオブジェクト)に対しTypeName関数, DriveLetterメソッド, DriveTypeメソッドを実行しています。
TypeName関数によりDriversコレクションはDriverオブジェクトが実行したPCのドライブ数分格納されているのが確認できます。
詳細は以下のサンプルコードの実行結果を参考にしてください。
C:\wsh>cscript /nologo fso_drvs_collection.vbs TypeName(d) : Drive DriveLetter : C DriveType : 2 -------- TypeName(d) : Drive DriveLetter : D DriveType : 4 -------- TypeName(d) : Drive DriveLetter : Z DriveType : 3 --------
上記出力結果を見るとTypeNameにより変数の種類を確認するとDriveオブジェクトなのが確認できます。
したがって、取得したDriveオブジェクトのプロパティを指定すればプロパティ値を表示することができます。