Email: Password:       Forgot Password 
    .netCodeSG
A Saarsha Group Online Community for dot net codes group like C#, Asp.NET, VB.NET, Sharepoint, JavaScript, JQuery, Ajax, SQL, WCF, WPF.
 
TECHNOLOGIES:
 

SharePoint 2010 - Move Files and Folder

Article:
Viewed:  2250 
Posted On:  04/06/2013 12:24:16 
How we can move files and folder from one document library to another document library in SharePoint 2010? 

In this article I am going to explain how we can move folder from one document library to another document library in SharePoint 2010. 

For example we have a SharePoint 2010 web site and we have 2 document library in this (
DotNetCodeSG_Source_DocLib, DotNetCodeSG_Dest_DocLib). We will move all files and folder of  DotNetCodeSG_Source_DocLib to DotNetCodeSG_Dest_DocLib. 

Below code will work for this: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using System.Configuration; 

namespace MoveFileAndFolder_In_SP_2010
{
    class Program
    {
        static string baseDestinationUrl = string.Empty;
        static string baseSourceUrl = string.Empty;
        static string SiteURL = "http://localhost:1000";
 
        static void Main(string[] args)
        {
            FolderMove();
        }
 
        //To move folder from one location to other location
        public static void FolderMove()
        {
            List<string> listFolder = new List<string>();
            //To get all folder of documentlibrary of a sharepoint site

           
try
            {
                using (SPSite oWebsite = new SPSite(SiteURL)
                {
                    using (SPWeb web = oWebsite.OpenWeb())
                    {
                        if (web.DoesUserHavePermissions(SPBasePermissions.BrowseDirectories))
                        {
                            try
                            {
                                SPFolderCollection folders = web.GetFolder("DotNetCodeSG_Source_DocLib").SubFolders;
 
                                foreach (SPFolder oFolder1 in folders)
                                {
                                    int len = oFolder1.ToString().LastIndexOf('/');
                                    string folderName = oFolder1.ToString().Substring(len + 1);
                                    listFolder.Add(folderName);
                                }
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message.ToString());
                                Console.Write("Press enter to exit");
                                Console.ReadLine();
                                return;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
                Console.Write("Press enter to exit");
                Console.ReadLine();
                return;
            }


            Console.WriteLine();
            Console.Write("Press enter to copy folder");
            Console.ReadLine();


            //Checking and moving folder
            foreach (string folderName in listFolder)
            {
                MoveFolder("DotNetCodeSG_Source_DocLib" + folderName, "DotNetCodeSG_Dest_DocLib" + folderName + "/");
            }
 
            Console.WriteLine("All folders have been copied successfully.");
            Console.WriteLine("Press enter to exit...");
           Console.ReadLine();
        }
 
        // To move folder
        public static void MoveFolder(string sourcePath, string destinationPath)
        {
            using (SPSite oWebsite = new SPSite(SiteURL)
            {
                using (SPWeb web = oWebsite.OpenWeb())
                {
                    if (web.DoesUserHavePermissions(SPBasePermissions.BrowseDirectories))
                    {
                        try
                        {
                            SPFolder oFolder = web.GetFolder(sourcePath);
                            Console.WriteLine("Folder move from " + sourcePath + " To " + destinationPath);
                            oFolder.CopyTo(destinationPath);                          
                            Console.WriteLine("Folder moved successfully...");
                            Console.WriteLine();
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message.ToString());                           
                            Console.WriteLine("Press Enter to next move...");
                            Console.ReadLine();
                        }
                    }
                }
            }
 
        }
    }
}

  Comment:
         HOME   |   Submit Article   |   Contact Us   |   About Us   |   Terms & Condition   |   Advertise With us