本資料はファイル、フォルダ、ドライブなどを扱うオブジェクトFileSystemObjectに含まれているFileオブジェクトおよびFilesコレクションについて調査した資料です。
Fileオブジェクトのサンプルコードを以下に記します。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Set file_obj = fso.GetFile("c:\autoexec.bat")
3: WScript.Echo "Drive Property : " & file_obj.Drive
4: WScript.Echo "DateCreated Property : " & file_obj.DateCreated
2行目のGetDriveメソッドによりFileオブジェクトを取得しています。
3,4行目は取得したFileオブジェクトのDrive, DateCreatedプロパティ値を出力しています。
C:\wsh>cscript /nologo fso_file_obj.vbs Drive Property : c: DateCreated Property : 2009/07/14 11:04:04
Filesコレクションのサンプルコードを以下に記します。
サンプルコードでは、FolderオブジェクトにFilesプロパティがあるのでFolderオブジェクトからFilesコレクションを取得し操作する例となります。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: WScript.Echo "TypeName(fso) : " & TypeName(fso)
3:
4: Set oFolder = fso.GetFolder("c:\")
5: WScript.Echo "TypeName(oFolder) : " & TypeName(oFolder)
6:
7: Set files_collection = oFolder.Files
8: WScript.Echo "TypeName(files_collection) : " & TypeName(files_collection)
9:
10: For Each f in files_collection
11: WScript.Echo "--------"
12: WScript.Echo "TypeName(f) : " & TypeName(f)
13: WScript.Echo "Name : " & f.Name
14: WScript.Echo "DateCreated : " & f.DateCreated
15: Next
1,2行目はFileSystemObjectを作成し、TypeName関数で種別を表示しています。
4,5行目はGetFolderメソッドでFolderオブジェクトを取得し、TypeName関数で種別を表示しています。
7,8行目はFolderオブジェクトのFilesプロパティを呼び出しFilesコレクションを取得し、TypeName関数で種別を表示しています。
10行目〜15行目は取得したFilesコレクションをFor Eachで1つずつ取り出しています。
取り出した編集種別は12行目のTypeName関数でFileオブジェクトであることが確認できます。
13,14行目でFileオブジェクトのName, DateCreatedプロパティの値を表示しています。
動作結果については以下のサンプルコードの実行結果を参考にしてください。
C:\wsh>cscript /nologo fso_files_collection.vbs TypeName(fso) : FileSystemObject TypeName(oFolder) : Folder TypeName(files_collection) : Files -------- TypeName(f) : File Name : autoexec.bat DateCreated : 2009/07/14 11:04:04 -------- TypeName(f) : File Name : config.sys DateCreated : 2009/07/14 11:04:04 -------- TypeName(f) : File Name : pagefile.sys DateCreated : 2012/05/04 3:43:47