Skip to main content
All CollectionsMigratePowerShellExport from SharePoint
Export from multiple site collections
Export from multiple site collections
Updated over 2 weeks ago

It is possible to use a CSV file to specify multiple source site collections from which we want to export content. A CSV file is a simple type of file that creates a representation of a table using a delimiter like a semi-colon. This file can be opened in Excel which shows the data in a spreadsheet which can then be easily modified using Excel's powerful features. This can then be easily read by PowerShell within a foreach loop.

Here is an example where we export the site "Important" from all the sites in the CSV file:

$csvFile = "C:\CSVfile.csv"$table = Import-Csv $csvFile -Delimiter ";"foreach ($row in $table)
{
	$srcSite = Connect-Site -Url $row.SourceSite
	$dstPath = $row.DestinationPath
	Export-Site -SourceSite $srcSite -Name "Important" -DestinationFolder $dstPath -Subsites
}

The row variable in the loop corresponds to the current row. When the loop is done, we go to the next row and so on. Here is what the CSV file looks like for this example:

You can take this example and modify it to your need. For example, you could replace the Export-Site command with the Export-List command and export a list from multiple site collections. This is just a base example that can be used for multiple commands and use cases.

Note: -DestinationFolder cannot be used to create new folders at the destination.

Did this answer your question?