2

Я пытаюсь скопировать папку и подпапки с сервера на ПК (как удаленно).

$source='\\\server1\folder\\*'
$destination='\\\PC1\c$\temp\folder'
copy-item -path $source -destination $destination -recurse -force

Это приводит к ошибке, если я делаю это один раз, но если я снова запускаю ту же команду, она завершается без ошибок

Ошибка в нескольких случаях:

copy-item : container cannot be copied onto existing leaf item.
%
%
%
     + categoryinfo    : Invalidargument: (\\server1\folder:string) [copy-item] PSargumentexception
    +FullyQualifiedErrrId : CopyContainerItemToLeafError,Microsoft.powershell.Commands.CopyItemCommand

Как я уже сказал, он завершается без ошибок при втором запуске команды. Что я делаю не так, что выдает ошибку при первом запуске?

1 ответ1

1

Установите исходную переменную, например, $source='\\server1\folder' и исключите из нее звездочку (*), как в приведенном примере. Вам не нужно экранировать символы обратной косой черты (\) с дополнительной обратной косой чертой, поэтому пропустите дополнительные обратные косые черты в путях UNC.

Рассмотрите возможность использования

$source='\\server1\folder'
$destination='\\PC1\c$\temp\folder'
Copy-Item -Recurse -Filter *.* -path $source -destination $destination -Force

Примечание. Используйте -Filter для шаблона строки шаблона и т.д.


Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .