Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 展开目录列表并复制_Powershell_Xcopy - Fatal编程技术网

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它会在所有子项上递归。