0

I am trying to delete all content from site (list/folder/documentset). However, I am getting error while deleting couple of document sets.

#docsetFolder is an object of Document set which is correct.
for($x=$docsetFolder.Files.Count-1;$x -ge 0; $x--)
{                                                                                                                                                                                      
$listItem = $docsetFolder.Files[$x].Item;
$file = $listItem.File;
if($file -ne $Null)
{
$name = $file.CheckedOutByUser;
if($name -ne $Null) #IF checkout by some one then Undo Checkout.                                   
{   $file.UndoCheckOut();
}
    $file.Delete();
}                                                           
}                                                                             
}                                                                                                                                                                  
$docsetFolder.Delete(); #This line gives error

ErrorException calling "Delete" with "0" argument(s): "The file "/bu/abc/private/Shared Documents/xxx.docx" is checked out for editing by ."

Though, all file inside documentset got deleted, but while deleting document set I am getting error and document set not getting delete. Few DocumentSets are getting deleted in the same library.

1 Answer 1

0

There are probably files with no checked-in version. Can you navigate to the target library

library -> Library Settings -> Manage files which have no checked-in version

Please check if that page shows any files. If yes, then you can take ownership of those files and delete them from UI. The same can be accomplished via object model/powershell. If you are using powershell this link may help.

2
  • Perfect! It worked. Now, I can see those checkedout files in "Manage files which have no checked-in version". However, when I iterate via Powershell to this DocumentSet, I am not seeing this file. Is there any way in Powershell to delete it from "Manage files which have no checked-in version". Commented Nov 14, 2016 at 8:12
  • You can use SPDocumentLibrary.CheckedOutFiles (see msdn.microsoft.com/en-us/library/office/…). It does not return you files per document set, but you can compare file path against document set URL to check if file is within the provided document set or folder. Commented Nov 14, 2016 at 8:25

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.