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