Code snippet to copy documents from one document library to another
1: using (SPSite site = new SPSite("https://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
- Anonymous
March 25, 2011
i found this http://dandd.codeplex.com and it may did the job in faster way