次のルールに従うランダムなフォルダー (多かれ少なかれ 10.000 フォルダーのシナリオ) を選択する必要があるソフトウェアを C# で開発しようとしています。
- ファイルを含むもののみを選択します。
- 選択したフォルダのサイズが 8GB の場合、ソフトウェアは選択を停止する必要があります。
- 単一のフォルダーをコピーするときは、そのフォルダーのパス全体を保持する必要があります (c:\folder\temp\hello がコピーされた場合、d:\COPIED\folder\temp\hello を保持したい)。
私は次のようなことをすると思います:
- 割り当てられたルートから始まるフォルダーのリスト全体を分析します。
- このリストでランダムな「行」を選択し、「選択されたリスト」に移動してサイズを数えます。
- 8GB に達したら、この最初のフェーズを停止し、コピーを開始します。
ここは大きな問題ではないと思います。についてどう思いますか?助言がありますか?
私の本当の問題は、移動するときに各フォルダーのパス全体を「再作成」することです。どうすればいいですか?C# API を使用して各レベルのフォルダーを作成しますか、または回避策はありますか?