Powershell Copy-Item -Destination

Get-ChildItem -Path \\$SiteMachineName\c$\ProgramData\Scripts\log -Recurse |
    Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-40)} |
    select * |
    Select -ExpandProperty FullName |
    Copy-Item -Destination C:\Users\<username>\Desktop\PS

Это сценарий, который я пытаюсь запустить. Он берет все файлы старше 40 дней из папки сценариев на удаленной машине. Эта часть работает. Проблема в том, что если у меня нет папки на рабочем столе с именем PS, она просто создает файл с именем PS вместо копирования всех файлов в эту папку.

Я хотел бы создать эту папку, если она не существует.

Это не дубликат, добавление -force -Recurse дает ошибку

Copy-Item: не удалось найти часть пути

добавление New-Item к флагу Destination решило проблему.

1 ответ

Решение

Попробуйте заменить ваш Copy-Item"s Destination флаг с New-Item -force директива:

copy-item -Destination (new-item -type directory -force ("C:\Users\<username>\Desktop\PS")) -force

Исходный ответ

Другие вопросы по тегам