Проблема возникает из-за того, что вы использовали | Out-File
в конце строки, которая генерирует коллекцию файлов в $MoveFiles
.Поскольку Out-File
не создает выходных данных объекта, эта переменная не заполняется.
Сделайте это вместо этого:
$MoveFiles = Get-ChildItem $OriginPath -Filter *.uni |
Sort -Property LastWriteTime |
Select -First $MoveNr
$MoveFiles | Out-File $LogFile
Вам также, вероятно, не нужен ForEach-Object
в строке послеэто (и его использование недопустимо), и вы не должны объявлять -Path
в Move-Item
, потому что это исходит из конвейера.Например:
$MoveFiles | Move-Item -Destination $DestinationPath
Должно работать.
Здесь >> $LogFile
может быть избыточным, поскольку Move-Item
не генерирует никакого вывода.