#navi(../)
* FileSystemObjectのDriveオブジェクトとDrivesコレクションの調査 [#qc0e041c]
本資料はファイル、フォルダ、ドライブなどを扱うオブジェクトFileSystemObjectに含まれているDriveオブジェクトおよびDrivesコレクションについて調査した資料です。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連資料 [#h27e54a2]
-[[FileSystemObjectに含まれているオブジェクトおよびコレクション一覧>WSH/FileSystemObjectに含まれているオブジェクトおよびコレクション一覧]]
* Driveオブジェクト [#v5c36f3c]
Driveオブジェクトのサンプルコードを以下に記します。
** Driveオブジェクトのサンプルコード [#k3b3bc43]
#ref(fso_drv_obj.vbs)
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プロパティ値を出力しています。
** Driveオブジェクトのサンプルコード実行結果 [#e03c8b9c]
C:\wsh>cscript /nologo fso_drv_obj.vbs
Total size : 85792387072
Free size : 72520994816
DriveType : 2
* Drivesコレクション [#pc72993b]
Drivesコレクションのサンプルコードを以下に記します。
** Drivesコレクションのサンプルコード [#u04d14fa]
#ref(fso_drvs_collection.vbs)
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のドライブ数分格納されているのが確認できます。~
詳細は以下のサンプルコードの実行結果を参考にしてください。
** Drivesコレクションのサンプルコード実行結果 [#y889156d]
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オブジェクトのプロパティを指定すればプロパティ値を表示することができます。
#br
#htmlinsertpcsp(win-btm.html,win-sp.html)