Подтвердить что ты не робот

Скопировать папку с помощью Copy-Item - другое поведение

Я хочу скопировать всю папку в другую папку с помощью Copy-Item.

Моя исходная папка c:\base содержит некоторые файлы:

├───base    
│       file1.txt
│       file2.txt

Я использую следующую команду:

Copy-Item c:\base c:\target -recurse

если существует целевая папка (c:\target), команда копирует исходную папку точно так, как я хочу:

├───target
│   └───base    
│           file1.txt
│           file2.txt

Если целевая папка не существует, команда создает целевую папку (точно так, как я хочу), , но теперь она копирует только содержимое исходной папки (без папки base),

├───target    
│       file1.txt
│       file2.txt
  • Почему это происходит?
  • Как я могу использовать эту команду копирования (дополнительные ключи?) без создания целевой папки до?
4b9b3361

Ответ 1

Это известная ошибка (функция, которую некоторые скажут):

http://groups.google.com/group/microsoft.public.windows.powershell/msg/[email protected]microsoft.com

Это поведение ИМО, является искусством трубопровод поставщика и объекта которая использует powershell. У тебя есть привыкнуть к идее, что навигационный контекст немного странный по сравнению с другими раковинами; его явным, а не скрытым, поскольку файловая система - одна из многих контексты, которые можно использовать. Это приносит с ним какое-то странное поведение с тех пор цели любого заданного пути обрабатывается комбинацией универсальная грамматика powershell и самой команды, а не полностью обработанной командой shells, например command.com/cmd.exe.