ファイルの一覧を取得し、表示するプログラムです。
このVBSファイルを配置したフォルダ内のファイル一覧を取得し、メッセージボックスで表示します。
プログラム例1
ファイル名:GetFileName01.vbs
Option Explicit
Dim fso ,folder ,file
‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)
‘カレントフォルダのオブジェクトをセット
Set folder = fso.GetFolder(“.\”)
‘フォルダ内のファイル名を取得
For Each file In folder.Files
‘取得したファイルのファイル名を表示
Msgbox file.Name
Next
Set fso = Nothing
取得したファイルは、ファイル名以外にも、以下のプロパティを取得することが可能です。
Attributes | 指定したファイルの属性を設定するか返します。 |
DateCreated | ファイルの作成日時を返します。 |
DateLastAccessed | ファイルに最後にアクセスした日時を返します。 |
DateLastModified | ファイルの最終更新日時を返します。 |
Drive | ファイルがあるドライブのドライブ文字を返します。 |
Name | ファイル名前を返します。 |
ParentFolder | ファイルの親のフォルダー オブジェクトを返します。 |
Path | ファイルのパスを返します。 |
ShortName | ファイルの短い名前を返します。 |
ShortPath | ファイルの短いパスを返します。 |
Size | ファイルのサイズをバイト単位で返します。 |
Type | ファイルの種類を返します。 |
プログラム例2
カレントフォルダだけでなく、サブフォルダ内のファイルも再帰的に取得したい場合は、以下のようにGetSubFolder関数を作成し、ファイル名取得が再帰的に実行されるように記述します。
ファイル名:GetFileName02.vbs
Option Explicit
Dim fso ,folder
‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)
‘カレントフォルダのオブジェクトをセット
Set folder = fso.GetFolder(“.\”)
‘ファイル名の一覧を表示
GetSubFolder(folder)
Set fso = Nothing
‘ファイル名の一覧を取得
Function GetSubFolder(folder)
Dim file
‘フォルダ内のファイル名を表示
For Each file In folder.Files
Msgbox file.Name
Next
‘サブフォルダ内のファイルを再帰的に取得
For Each file In folder.subFolders
GetSubFolder(file)
Next
End Function
以上、ファイル一覧を表示するプログラムでした。