I’m my other post, I outlined how to create a bunch of folders in a Document Library. In this post, I’ll explain how I then populated those folders with Word documents.
To stage this, I created a Document Library called BaseLibrary. In BaseLibrary I uploaded a single Word document. After uploading the document, make note of the ID of the document in the Library. *To get the ID of the document, modify your default View, and add the ID column, click save.*
if(-not(Get-PSSnapin | where { $_.Name -eq "Microsoft.SharePoint.PowerShell"})) { Add-PSSnapin Microsoft.SharePoint.PowerShell; } $site = Get-SPweb "http://sharepointed.com/taco" $spListFrom = $site.lists["BaseLibrary"] $iFrom = $spListFrom.GetItemById("1") $mList=$site.Lists["Shared Documents"] foreach($f in $mlist.Folders) { $fName=$f.Name $range = 1..500 $count = $range.Count for($i=0; $i -lt $count; $i++) { $nName = "$fName$i.docx" $nURL = $site.Url+''+$f.Url+"/"+$nName $iFrom.CopyTo($nURL) } } $site.dispose()What I’m doing here is referencing the document with the ID of 1, from BaseLibrary.
Loop through all the folders in Shared Documents, in each folder, I’m doing a loop to copy the document into the folder, and create a new name for the document on each loop.
$nName = “$fName$i.docx”
$fname is the name of the folder we are working with.
$i is the count of the loop we are on. Joining the two variables will create a unique file name.
$range = 1..500
To create more or less documents in each folder, adjust this range. This example will create 500 documents in each folder.