I have a script that generated a user report to a csv file. Which work properly. I have added a section to upload all the files from the local computer to the SharePoint library. Which also works fine. However, I just want to upload only new file. This is what i have so far. I changed "$FileCreationInfo.Overwrite = $false" from $true to $false. I guess I am missing a if exist statement. If someone can help me with the syntax to look at the folder and if the same file name already exist, do not upload.
Upload file
Foreach ($File in (dir $Folder)) { $FileStream = New-Object IO.FileStream($File.FullName,[System.IO.FileMode]::Open) $FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation $FileCreationInfo.Overwrite = $false $FileCreationInfo.ContentStream = $FileStream $FileCreationInfo.URL = $File $Upload = $List.RootFolder.Files.Add($FileCreationInfo) $Context.Load($Upload) $Context.ExecuteQuery() }
this is the error I am getting.
Exception calling "ExecuteQuery" with "0" argument(s): "A file with the name Shared Documents/test.csv already exists. It was last modified by i:0#.f|membership|test on 19 Sep 2018 16:11:46 -0700." At C:\Scripts\test\test.ps1:68 char:1 + $Context.ExecuteQuery() + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ServerException