Powershell 展开目录列表并复制
我需要将以下文件夹子集从Powershell 展开目录列表并复制,powershell,xcopy,Powershell,Xcopy,我需要将以下文件夹子集从$sourceDir复制到$targetDir: abc0001 abc0643 abc0456 ... 文件夹的数量未知,但它们都与模式abc0*匹配 是否有一种优雅的解决方案可以将abc0*扩展到实际的文件夹列表,然后复制它们?我试过这个: dir "$sourceDir\abc0*" -Recurse | copy -Destination $targetDir -WhatIf 但它不会保留路径,因此所有文件都会位于$targetDir的根目录中。请尝试一下:
$sourceDir
复制到$targetDir
:
abc0001
abc0643
abc0456
...
文件夹的数量未知,但它们都与模式abc0*
匹配
是否有一种优雅的解决方案可以将abc0*
扩展到实际的文件夹列表,然后复制它们?我试过这个:
dir "$sourceDir\abc0*" -Recurse | copy -Destination $targetDir -WhatIf
但它不会保留路径,因此所有文件都会位于$targetDir
的根目录中。请尝试一下:
dir $sourceDir abc0* | where {$_.psiscontainer} | copy -dest $targetDir -recurse
为什么不将
-recurse
添加到获取子项
中呢?我想你也可以这样做,但它会更快,使用copy递归只会深入到传入文件夹,而使用gci它会在所有子项上递归。