指定フォルダー以下のサブフォルダー内を含めた総ファイル数を取得 (SNo.025) | |
使用コントロール | Button3 FolderBrowserDialog1 |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008) Imports System.IO をモジュールの先頭に記述しておいて下さい。 |
★ 指定フォルダー以下のファイル数を取得
Public Shared Function GetDirFileCount(ByVal d As System.IO.DirectoryInfo) As Long
'指定フォルダー以下のファイル数を取得する関数 'Imports System.IO をモジュールの先頭に記述しておいて下さい。 'エクスプローラーのフォルダーのプロパティの全般のところで表示しているファイル数と同じ Dim fCount As Long = 0 Dim fis As FileInfo() = d.GetFiles() 'フォルダー内のファイル数をカウント fCount = fis.Length Dim dis As DirectoryInfo() = d.GetDirectories() Dim di As DirectoryInfo 'サブフォルダー内のファイル数を合計する For Each di In dis fCount += GetDirFileCount(di) Next di Return fCount End Function 上記関数使用例 Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click '指定フォルダー以下(サブフォルダー内含む)の全ファイル数を取得する 'Imports System.IO をモジュールの先頭に記述しておいて下さい。 'フォルダー名を取得 FolderBrowserDialog1.ShowDialog() Dim FolderName As String = FolderBrowserDialog1.SelectedPath Dim di As DirectoryInfo = New DirectoryInfo(FolderName) 'ファイル数を取得(関数の実行) Dim sumFile As Integer = GetDirFileCount(di) MessageBox.Show(sumFile & " ファイルありました。") End Sub |
|
ファイル及びフォルダー関係の操作の場合は、Imports System.IO をモジュールの先頭に記述するか、事前に追加しておく事をお薦めします。 |