I want to copy an entire network directory to SharePoint online and I all I can seem to capture so far are the main folders and files in the directory. Any sub-folders or files withing the main folders are not carrying over as intended (The main folders are empty). My code is below and any assistance is greatly appreciated.
#Upload file Function ImportFiles() { #Get name of folder $NewDirectory = Split-Path $Directory -Leaf #upload folder to sharepoint $UploadNewDirectory = $List.RootFolder.Folders.Add($NewDirectory) $Context.Load($UploadNewDirectory) $Context.ExecuteQuery() $FoldersInDirectory = Get-ChildItem $Directory #upload sub-folder to sharepoint Foreach ($Item in $FoldersInDirectory) { if($Item | ? {$_.PsIsContainer -eq $true}) { $Folder = $Item $UploadFoldersInDirectory = $UploadNewDirectory.Folders.Add($Folder) $Context.Load($UploadFoldersInDirectory) $Context.ExecuteQuery() } elseif($Item | ? {$_.PsIsContainer -eq $false}) { $File = $Item $FileStream = New-Object IO.FileStream($File.FullName,[System.IO.FileMode]::Open) $FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation $FileCreationInfo.Overwrite = $true $FileCreationInfo.ContentStream = $FileStream $FileCreationInfo.URL = $File $Upload = $UploadNewDirectory.Files.Add($FileCreationInfo) $Context.Load($Upload) $Context.ExecuteQuery() } else { recurse ImportFiles } } } # end function ImportFiles ImportFiles