我甚至不确定这是否可行,但我需要将文件从一个文件夹目录复制到另一个文件夹目录,但目录2的tree
结构与目录1不同。这里是一个例子:
Directory1
--folder1
----text1.pdf
----text2.pdf
--folder2
----text3.pdf
----text4.pdf
Directory2
--home1
----folder1
------text1.pdf
------text2.pdf
--home2
----folder2
------text3.pdf
------text4.pdf
文件夹"folder1"
和"folder2"
将位于Directory2
,但它们可能位于不同的文件夹中。
答案 0 :(得分:0)
未经测试:
$dirs1 =
get-childitem c:\directory1 -recurse |
where {$_.psiscontainer} |
select -ExpandProperty fullname
$dirs2 =
get-childitem c:\directory2 -recurse |
where {$_.psiscontainer} |
select -ExpandProperty fullname
$dir_ht = @{}
foreach ($dir in $dirs1)
{
$root = $dir -replace '.+Directory1',''
$dir_ht[$dir] = ($dirs2 -match $root)
}
$files =
get-childitem c:\directory1 -recurse |
where {-not($_.psiscontainer)} |
select -ExpandProperty fullname
foreach ($file in $files)
{copy-item -Path $file -Destination $dir_ht[($file | Split-Path -Parent)]}