提供されたルートディレクトリから始まるすべてのファイル(読み取りアクセス権がある)への完全修飾パスを簡単にロードする方法はありますstring[]
か?
を見ましたSystem.IO.Directory.GetFiles
が、入力を許可する前にフィルターを指定する必要があるSearchOption.AllDirectories
ため、試しました:
string[] directoryList = Directory.GetFiles(RootPath, "*.*",
SearchOption.AllDirectories);
RootPath
私の有効なルートディレクトリはどこですか。これは問題なく動作するように見えましたが、29 GB の大きなディレクトリ/ファイル構造と数十万のファイルを指定すると、Windows フォーム アプリが非常に長い間ハングアップしました。
そこで、GUI がロックされたように見えないように、を介してスレッド化することを考えましたが、読み込みを行っているのは 1 つのステートメントに過ぎずBackgroundWorker
、このようなものの進行状況をどのように報告するかわかりません。ProgressBar
事前にファイルの総数、または既に処理された数などに関する情報はありません。