我不知道我做错了什么,我无法删除文件,我正在使用控制台应用程序,方法SPFile.Delete()什么都不做。
以下是一些代码:
for (int ii = web.Folders[url + documentsfolder].ItemCount - 1; ii >= 0; ii--)
{
SPFile file = web.GetFile(web.Folders[url + documentsfolder].Files[ii].UniqueId);
if (file.Exists)
{
file.Delete();
}
}
它不会抛出异常。它只是在第一个文件中停止,我不知道为什么。
希望你能帮忙
答案 0 :(得分:2)
您好以下是删除共享文档的文件夹或文件的代码段。这可能会为您提供使用正确命令 DeleteItemById 进行删除的线索。
$web = Get-SPWeb -Identity "http://sharepoint2010/myweb/"
$list = $web.GetList("http://sharepoint2010/myweb/Shared%20Documents/")
function ProcessFolder {
param($folderUrl)
$folder = $web.GetFolder($folderUrl)
foreach ($file in $folder.Files) {
#Delete file by deleting parent SPListItem
$list.Items.DeleteItemById($file.Item.Id)
}
}
#Collect files to delete
ProcessFolder($list.RootFolder.Url)
#Download files in folders
foreach ($folder in $list.Folders) {
ProcessFolder($folder.Url)
}
#Delete folders
foreach ($folder in $list.Folders) {
try {
$list.Folders.DeleteItemById($folder.ID)
}
catch {
#Deletion of parent folder already deleted this folder
#I really hate this
}
}