このエントリーをはてなブックマークに追加


FileSystemObjectのDriveオブジェクトとDrivesコレクションの調査

本資料はファイル、フォルダ、ドライブなどを扱うオブジェクトFileSystemObjectに含まれているDriveオブジェクトおよびDrivesコレクションについて調査した資料です。


関連資料

Driveオブジェクト

Driveオブジェクトのサンプルコードを以下に記します。

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プロパティ値を出力しています。

Driveオブジェクトのサンプルコード実行結果

C:\wsh>cscript /nologo fso_drv_obj.vbs
Total size : 85792387072
Free size : 72520994816
DriveType : 2

Drivesコレクション

Drivesコレクションのサンプルコードを以下に記します。

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のドライブ数分格納されているのが確認できます。
詳細は以下のサンプルコードの実行結果を参考にしてください。

Drivesコレクションのサンプルコード実行結果

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オブジェクトのプロパティを指定すればプロパティ値を表示することができます。

 


添付ファイル: filefso_drvs_collection.vbs 450件 [詳細] filefso_drv_obj.vbs 437件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:50:40