本資料はファイル、フォルダ、ドライブなどを扱うオブジェクトFileSystemObjectに含まれているFolderオブジェクトおよびFoldersコレクションについて調査した資料です。
Folderオブジェクトのサンプルコードを以下に記します。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Set folder_obj = fso.GetFolder("c:\")
3: WScript.Echo "TypeName(folder_obj) : " & TypeName(folder_obj)
4: WScript.Echo "Type : " & folder_obj.Type
5: WScript.Echo "Path : " & folder_obj.Path
2行目のGetFolderメソッドによりFolderオブジェクトを取得しています。
3行目はTypeName関数を使って種別がFolderオブジェクトであることを確認しています。
4,5行目は取得したFolderオブジェクトのType, Pathプロパティ値を出力しています。
C:\wsh>cscript /nologo fso_folder_obj.vbs TypeName(folder_obj) : Folder Type : ローカル ディスク Path : C:\
Foldersコレクションのサンプルコードを以下に記します。
サンプルコードでは、FolderオブジェクトにSubFoldersプロパティがあり、Foldersコレクションが返却されます。
取得したFoldersコレクションを操作するサンプルコードになります。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Set oFolder = fso.GetFolder("c:\")
3: WScript.Echo "TypeName(oFolder) : " & TypeName(oFolder)
4:
5: Set folders_collection = oFolder.SubFolders
6: WScript.Echo "TypeName(folders_collection) : " & TypeName(folders_collection)
7:
8: For Each f in folders_collection
9: WScript.Echo "--------"
10: WScript.Echo "TypeName(f) : " & TypeName(f)
11: WScript.Echo "Path : " & f.Path
12: WScript.Echo "DateCreated : " & f.DateCreated
13: Next
1行目はFileSystemObjectを作成しています。
2,3行目はGetFolderメソッドでFolderオブジェクトを取得し、TypeName関数で種別を表示しています。
5,6行目はFolderオブジェクトのSubFoldersプロパティを呼び出しFoldersコレクションを取得し、TypeName関数で種別を表示しています。
8行目〜13行目は取得したFoldersコレクションをFor Eachで1つずつ取り出しています。
取り出した編集種別は10行目のTypeName関数でFolderオブジェクトであることが確認できます。
11,12行目でFolderオブジェクトのName, DateCreatedプロパティの値を表示しています。
動作結果については以下のサンプルコードの実行結果を参考にしてください。
C:\wsh>cscript /nologo fso_folders_collection.vbs TypeName(oFolder) : Folder TypeName(folders_collection) : Folders -------- TypeName(f) : Folder Path : C:\$Recycle.Bin DateCreated : 2009/07/14 11:36:15 -------- TypeName(f) : Folder Path : C:\b724c4f4e3d195cb5e7bb44322d83cb0 DateCreated : 2012/05/04 9:00:54 -------- TypeName(f) : Folder Path : C:\Config.Msi DateCreated : 2012/05/04 9:01:11 -------- TypeName(f) : Folder Path : C:\Documents and Settings DateCreated : 2009/07/14 13:53:55 <省略> TypeName(f) : Folder Path : C:\Users DateCreated : 2009/07/14 11:37:05 -------- TypeName(f) : Folder Path : C:\Windows DateCreated : 2009/07/14 11:37:05 -------- <省略>