15

私は MSVE を使用しており、最上部のレイヤーに表示している独自のタイルがあります。問題は、それらが大量にあり、それらがネットワーク サーバー上にあることです。特定のディレクトリには、約 30,000 以上のファイルがあります。最初は Directory.GetFiles を呼び出していたのですが、疑似実環境でテストを開始すると、タイムアウトになりました。

この多くのファイルをプログラムで一覧表示し、反復処理する最良の方法は何ですか?

編集: 私の同僚は、MS インデックス サービスの使用を提案しました。誰かがこのアプローチを試したことがありますか? (どのように) 機能しましたか?

4

5 に答える 5

6

私は過去に、1 つのフォルダー内のファイル数に問題があるテレフォニー オーディオ録音を使用して SAN システムで作業したことがあります。私たちが思いついた唯一の賢明な解決策は、より適切な数のファイルが存在するようにフォルダー構造を変更することでした。興味深いことに、Explorer もタイムアウトします。

私たちが思いついた慣習は、構造を年、月、日で分割する構造でしたが、それはシステムと、ディレクトリ構造を制御できるかどうかによって異なります...

于 2008-08-06T15:35:30.203 に答える
2

必ず分けてください。とはいえ、インデックス サービスからはできるだけ離れてください。

于 2008-08-06T16:03:51.893 に答える
1

なし。.NET は、基盤となる Windows API 呼び出しに依存しています。これは、その量のファイル自体を非常に嫌っています。

ロニーが言うように、それらを分割します。

于 2008-08-06T15:42:08.457 に答える
1

また、自分でファイルのインデックスを作成するか、Google Desktop やcopernicなどのサード パーティのアプリを取得してインデックスと連携させることもできます。copernic には、インデックス内の任意のファイルを検索するために使用できる API があり、ネットワーク ドライブのマッピングもサポートしていることを知っています。

于 2008-08-06T23:53:38.637 に答える
1

DOSを使用できますか?

DIR /s/b > Files.txt
于 2008-08-06T15:47:49.430 に答える