Code snippet to copy documents from one document library to another


   1:  using (SPSite site = new SPSite("http://ms10:200/sites/200"))
   2:              {
   3:                  using (SPWeb web = site.OpenWeb())
   4:                  {
   5:                      SPList lib1 = (SPDocumentLibrary)web.Lists["Documents"];
   6:                      SPList lib2 = (SPDocumentLibrary)web.Lists["Site Collection Documents"];
   7:                      byte[] fileBytes = null;
   8:                      string destUrl = null;
   9:                      SPFile destFile = null;
  10:                      foreach (SPListItem item1 in lib1.Items)
  11:                      {
  12:                          fileBytes = item1.File.OpenBinary();
  13:                          destUrl = lib2.RootFolder.Url + "/" + item1.File.Name;
  14:                          destFile = lib2.RootFolder.Files.Add(destUrl, fileBytes, true /*overwrite*/);
  15:   
  16:                          fileBytes = null;
  17:                          destUrl = null;
  18:                          destFile = null;
  19:                      }
  20:   
  21:                      lib1 = null;
  22:                      lib2 = null;
  23:                  }
  24:              }
  25:              MessageBox.Show("Done!");

:: Please note that I would have just uploaded my initial code and you might want to consider proper optimization of the code and disposal of objects properly. I might not have updated the latest code here.

Comments (1)

  1. Guest says:

    i found this  http://dandd.codeplex.com  and it may did the job in faster way