Сценарий синхронизации Powershell пытается перезаписать исходные файлы вместо копирования в место назначения - PullRequest
0 голосов
/ 27 февраля 2019

Этот сценарий пытается перезаписать исходные файлы, а не копировать в место назначения, и я не уверен, почему.До обновления Powershell Core до 6.1 он функционировал как задумано.Сценарий предназначен для синхронизации музыкального каталога без включения папок.

if (Test-Path /fileserver/MP3playerMusic)
{
    $sourcefiles = Get-ChildItem /fileserver/MP3PlayerMusic -Recurse | where {$_.PSIsContainer -eq $false -and $_.Extension -ne ".dat"} 
    $destinationfiles = Get-ChildItem /home/username/Music -Recurse | where {$_.PSIsContainer -eq $false -and $_.Extension -ne ".dat" } 
    $destinationdirectories = "/home/username/Music"
    $filedifferenceobject = Compare-Object -ReferenceObject $sourcefiles -DifferenceObject $destinationfiles
    $filedifferenceobject | foreach { $copyparams = @{'path' = $_.inputobject.fullname} 
    if ( $filedifferenceobject.sideindicator -eq '<=' )
                { "files are not synced"
              "Syncing files"
              $copyparams.Destination = $destinationdirectories
              Copy-Item @copyparams -Verbose
             }
        else
        { "files are synced" }
    }
}
...