2013-06-14 2 views
3

Мне нужно скопировать следующий набор папок из $sourceDir в $targetDir:Развернуть список каталогов и скопировать

abc0001 
abc0643 
abc0456 
... 

Количество папок неизвестно, но все они соответствуют шаблону abc0*.

Есть ли элегантное решение для расширения abc0* в фактическом списке папок, а затем скопируйте их? Я попытался это:

dir "$sourceDir\abc0*" -Recurse | copy -Destination $targetDir -WhatIf 

Но не сохраняет путь, так что все файлы в конечном итоге в корне $targetDir.

ответ

3

Дайте этому попытку:

dir $sourceDir abc0* | where {$_.psiscontainer} | copy -dest $targetDir -recurse 
+0

почему не добавляя '' -recurse' для получения-childitem' также? –

+0

Я думаю, вы тоже можете это сделать, но это будет быстрее, рекурсия с копией будет разворачиваться по входящим папкам только тогда, когда gci будет рекурсивно выполнять все дочерние элементы. –

+0

Кажется, работает нормально. Благодарю. – Neolisk

Смежные вопросы