Скопировать папку с помощью 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
- Почему это происходит?
- Как я могу использовать эту команду копирования (дополнительные ключи?) без создания целевой папки до?
Ответы
Ответ 1
Это известная ошибка (функция, которую некоторые скажут):
http://groups.google.com/group/microsoft.public.windows.powershell/msg/[email protected]microsoft.com
Это поведение ИМО, является искусством трубопровод поставщика и объекта которая использует powershell. У тебя есть привыкнуть к идее, что навигационный контекст немного странный по сравнению с другими раковинами; его явным, а не скрытым, поскольку файловая система - одна из многих контексты, которые можно использовать. Это приносит с ним какое-то странное поведение с тех пор цели любого заданного пути обрабатывается комбинацией универсальная грамматика powershell и самой команды, а не полностью обработанной командой shells, например command.com/cmd.exe.