tagCANDY CGI VBレスキュー(花ちゃん) - フォルダー内のファイル数を高速で取得する方法(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
フォルダー内のファイル数を高速で取得する方法(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

フォルダー内のファイル数を高速で取得する方法(VB6.0) [No.19の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2015/02/11 19:26
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[フォルダー][ファイル][]                                           *
* キーワード:,フォルダー内のファイル数,ファイルの総容量,ファイルサイズ      *
***********************************************************************************

------------------------------------------------------------------------------------
No.1876 Re:ファイル数を高速で取得する方法  投稿者:ゆう(U) [2001/02/22(木)14:06分]
------------------------------------------------------------------------------------

環境にもよりますが・・・

「FileSystemObject オブジェクト」でファイル数やフォルダーサイズを取得できます。
※期待してる方のサイズかは不明ですが・・・

サンプル)
Private Sub Command1_Click()
  Dim objFSO As Object
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  With objFSO.GetFolder(App.Path & "\Test")
    Debug.Print .Size
    Debug.Print .Files.Count
  End With
End Sub
※サブフォルダのファイル数は別途加算してください

--------------------------------------------------------------------------
ゆう(U)さん    ありがとうございました。

試したところ「FileSystemObject オブジェクト」が一番早かったです。
それでも 2万件近くなると10秒ほどかかりました。
参考までに実験結果をお知らせします。

Windowsの共有パソコンの約20,000件のファイルがあるフォルダーにアクセスした時の平均速度。

   FileSystemObjectの.Files.Countを取得          9 秒
   Dir( )関数でLoopしてカウント               12 秒
   FileListBoxに読み込ませてListCountを取得     21 秒
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ