Я пытался написать сценарий PowerShell для синхронизации папок и использовал руководство «Как синхронизировать папки с PowerShell» .К сожалению, я получаю ошибку.Возможно ли, что руководство устарело?
$Folder1Path = 'C:\Users\Name\OneDrive'
$Folder2Path = 'C:\Users\Name\Documents\Folder'
$Folder1Files = Get-ChildItem -Path $Folder1Path
$Folder2Files = Get-ChildItem -Path $Folder2Path
$FileDiffs = Compare-Object -ReferenceObject $Folder1Files -DifferenceObject $Folder2Files
$FilesDiffs | foreach {
$copyParams = @{
'Path' = $_.InputObject.FullName
}
if ($_.SideIndicator -eq '<=') {
$copyParams.Destination = $Folder2Path
} else {
$copyParams.Destination = $Folder1Path
}
Copy-Item @copyParams
}
Сообщение об ошибке:
Copy-Item: Cannot bind the parameter "Path" to the argument, since it is NULL.
In C:\Users\Name\Documents\PowerShell Scripts\Script.ps1:21 symbol:12
+ Copy-Item @copyParams
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Copy-Item], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CopyItemCommand