Невозможно привязать параметр «Path» к аргументу, поскольку он равен NULL. - PullRequest
0 голосов
/ 20 декабря 2018

Я пытался написать сценарий 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...