Wie effizient löschen Sie alle Dateien in eine Dokumentbibliothek?
Ich bin auf der Suche für ein klares, vollständiges Beispiel programmgesteuert löschen, löschen Sie alle Dokumente von einer bestimmten Bibliothek Dokument über das Sharepoint-Objektmodell. Der doclib enthält keine Ordner. Ich bin auf der Suche, um zu löschen Sie die Dokumente vollständig (dh ich will nicht, dass Sie in den Papierkorb).
Ich kenne SPWeb.ProcessBatchData, aber irgendwie es scheint nie für mich arbeiten.
Dank!
- Sie haben Zugriff auf die WSS oder MOSS-Umgebung? Ich bin am überlegen ein PowerShell-Skript Hinzugefügt, entweder lief eine Zeit oder als geplante Aufgabe würden Sie profitieren.
- Dies ist für die WSS. Ich glaube nicht, dass ein PowerShell-Skript würde den job tun, da habe ich die Löschung durchgeführt wird, der innerhalb einer Ereignis-Empfänger.
- Was Problem Sie Konfrontiert sind in der ProcessBatchData ? Lässt uns wissen, dass werden die Einfachste Möglichkeit, dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde durchhalten mit der ProcessBatchData Ansatz, vielleicht hilft es:
Sonst bin ich nicht sicher, dass das andere Empfehlung funktioniert, wie eine Foreach-Schleife nicht so, dass die Anzahl der Elemente in der Sammlung verändert sich mit jedem zu löschen.
Sind Sie wahrscheinlich am besten aufgestellt sind, tun reverse for-Schleife (ich habe nicht testen Sie diesen code, nur ein Beispiel):
Dies ist nicht der richtige Weg, das löschen von Elementen.
Folgen Sie hier posten
http://praveenbattula.blogspot.com/2009/05/deleting-list-items-at-time-from-list.html
Müssen Sie nur gehen Sie durch die Dateien von Ihrem Dokument-Bibliothek.
Aufruf der delete-Methode über eine Datei von der API nicht verwenden Sie den Papierkorb. Es ist eine gerade löschen. Sie müssen noch überprüfen, dass die Datei nicht ausgecheckt.
Hier finden Sie einige Referenz:
Powershell-Weg: