我在寻找一个明确、完整示例的编程方式删除所有文件从一个具体的文件图书馆,通过Sharepoint对象的模式。该doclib不包含的文件夹。我想要删除的文件完全(即我不想让他们在回收Bin)。

我知道的SPWeb.ProcessBatchData,但不知何故,这似乎永远不会为我工作。

谢谢!

其他提示

你只是必须要经过的所有文件文件库。

foreach(SPListItem item in SPContext.Current.Web.Lists["YourDocLibName"].Items)
{
    //TODO: Verify that the file is not checked-out before deleting
    item.File.Delete();
}

叫删除方法上的一个文件,从API不用回收站。这是一个直接删除。你还需要验证的文件是不是检查。

这里是一些参考:

Powershell方式:

function ProcessFolder {
    param($folderUrl)
    $folder = $web.GetFolder($folderUrl)
    foreach ($file in $folder.Files) {
        #Ensure destination directory
        $destinationfolder = $destination + "/" + $folder.Url 
        if (!(Test-Path -path $destinationfolder))
        {
            $dest = New-Item $destinationfolder -type directory 
        }
         #Delete file by deleting parent SPListItem
        $list.Items.DeleteItemById($file.Item.Id)
    }
}

#Delete root Files
ProcessFolder($list.RootFolder.Url)

#Delete files from Folders or Document Sets
foreach ($folder in $list.Folders) {
    ProcessFolder($folder.Url)
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top