Копирование группы папок, сначала в строке, получает содержимое, пролитое в открытую

109
11

Я хочу скопировать группу папок с различными файлами внутри них из одного места в одну папку в другом месте. Я хочу связать указанную группу папок с переменной.

param(
$folders=('../folder1','../folder2')
)

Copy-Item -Path $folders -Destination '../folder3' -Recurse -Force;

Это работает, однако, внутри папки3, содержимое папки1 выливается, а содержимое папки2 помещается в папку с тем же именем, что и предполагалось.

Мне нужно, чтобы они оба были скопированы неповрежденными, если я переключу их места, тогда folder2 получит такое же лечение. Он, как и скрипт, не читает первую папку в строке так же, как другие. Я что-то пропустил?

EDIT: удалось найти обход, выполнив дополнительную команду для создания папки внутри "folder3", названной так же, как и первая в строке, перед копированием. Затем скрипт помещает файлы внутри этой папки правильно. Все еще довольно грязно, интересно, это ошибка.

спросил(а) 2017-10-19T11:37:00+03:00 3 года, 9 месяцев назад
1
Решение
100

Использовать цикл

foreach($folder in $folders){
Copy-Item -Path $folder -Destination '../folder3'-Recurse -Force
}

ответил(а) 2017-10-19T11:59:00+03:00 3 года, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема