I'm using SPWeb.ProcessBatchData to update a bunch of items in an efficient way.

However, when I try to update files that are in a folder that requires check out to edit, I get errors telling me the file is not check out.

I only want to change one field of the metadata of the file (an order column).

Is there a way to batch update checked in files?

Something similar to the SPlistItem.SystemUpdate method?

2 Answers 2


I think the workaround for this can be to disable list versioning before the processbatchdata is run and then enabling it again after it is completed. That way the files will remain checked-in after the process is completed.


you could do a check on each file if its checked out?

foreach(SPlistItem item in list.items)
    SPFile file = item.File;

    //checks to see if its checked in and NOT checked out!
    if (file.CheckOutStatus == SPFile.SPCheckOutStatus.None)
        //do your stuff


  • Checking the file is checked out is simple, but this won't help me to batch update my items. If I have to checkout the file before updating it, I loose the benefits of the batch update
    – Steve B
    Oct 4, 2013 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.