Environment: SharePoint 2013
How to migrate documents with Metadata and Content types to another site collection?
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It only takes a minute to sign up.Sign up to join this community
If you can use PowerShell than there is one ready to use PowerShell commands mentioned in below mentioned article.
You can also try LepideMigrator for Documents it works very well while migrate documents with Metadata and Content types to another site collection.
However, if you want to move the contents of a SharePoint Document Library or List and be able to preserve the item’s metadata/property values at the same time you should use this method:
Create a blank destination List or Document Library. Don’t have to worry about recreating custom fields and whatnot. The move process will do this for you.
Then go to the ‘Site Content and Structure’ page. You can access this site with either Site Actions > Site Settings or http://portal/_Layouts/sitemanager.aspx
After that navigate to your source List or Document Library and mark all the items that you would like to have moved. Then click on Actions > Move
You’ll then be prompted with a pop-up that will let you navigate to your destination List or Document Library. After you find that, just press the OK button and you’ll be good to go!
Also you can move files between document libraries programmatically using PowerShell or by using SharePoint designer, get in detailed here: http://www.sharepointdiary.com/2014/06/move-files-between-document-libraries-with-metdata-version-history.html
Hope this helps!