3

SPQueryを使用して、SharePointドキュメントライブラリ内のすべてのフォルダーのリストを取得することは可能ですか?

Windowsコマンドプロンプトを開いて実行した場合、ファイルシステムで取得できるもの

 dir /b /A:D /S

問題は、単純なSPQueryを作成し、viewAttributesをに設定したScope='RecursiveAll'場合、結果セットにはアイテムが含まれますが、フォルダーは含まれないことです。

それとも私は完全に何かが欠けていますか?

更新:この質問の理由は、「ファイルのパケット」が理にかなっているソリューションを作成する必要があるためです。
私のクライアントが「ドキュメント」について話すとき、彼は実際には複数のファイルとこれらのファイルのメタデータの共通セットで構成される可能性のあるエンティティを意味します。

たとえば、ドキュメントの名前は「おばあちゃんへの手紙」(属性:おばあちゃんの住所、手紙のタイトル)ですが、MSWord文書の実際の手紙とJPEG画像のいくつかのファイルで構成されています。

つまり、Folderから派生したコンテンツタイプを作成し、このコンテンツタイプ(アドレス、タイトル)にいくつかのフィールドを追加できるという考えでした。そのフォルダに配置されたすべてのファイルは、当然「ドキュメント」の一部になります。

このようなドキュメントがたくさんあると予想されるため、通常のタイプのフォルダーのフォルダー階層も作成します。

ここで、「最近のドキュメント」のようなビューをクライアントに表示するにはどうすればよいですか。これは、すべての「ドキュメント」を列挙するために再帰的に機能する必要があります。オブジェクトを介した再帰SPFolderは、実行する必要のある要求の数が原因で非常に遅くなります。再帰的なものを望んでいましたSPQueryが、これはこの方法では解決できないようです。

4

1 に答える 1

1

コンテンツ タイプでフィルタリングすることにより、すべてのフォルダーを取得できるはずです。

<Eq><FieldRef Name='ContentType' /><Value Type='Text'>Folder</Value></Eq>
于 2010-05-20T19:24:33.817 に答える