|
ありがとうございます。
前回、試したコードは以下の通りです
Dim files As IEnumerable(Of String) = Directory.EnumerateFiles("xxx", "*", SearchOption.AllDirectories)
For Each f As String In files
cnt += 1
filepath(cnt) = f
Next f
>魔界の仮面弁士さん
正確に4MBのファイルが10万個、一つのフォルダー内に入っています。
デバッグ実行ではなく、
Release ビルドでの EXE 実行でも試しましたが実行されませんでした。
あと、D:\で試すとすぐに列挙が開始されました。
もしかするとこのフォルダーがおかしいのかも知れません。
アクセス権限を見ましたが、
フルコントロールと特殊なアクセス許可以外には全て許可にチェックが入っています。
あと、フォルダーが入っているのはUSB3.0に接続された外付けHDDです。
速度は十分にありますが、外付けというのがもしかして原因ということはないですか?
>shuさん
Dim filepath As New List(Of String)
Dim dirInfo As New DirectoryInfo("・・・")
Dim flEnum1 = dirInfo.EnumerateFiles
Dim flEnum2 = flEnum1.GetEnumerator
Do While flEnum2.MoveNext
Dim fi = flEnum2.Current
filepath.Add(fi.FullName)
Loop
で試してみましたが、
Do While flEnum2.MoveNext
のところで固まってしまいます。
ちなみにフリーズというのは30〜60秒くらいです。
完全にフリーズというわけではありません。
よろしくお願いいたします。
|