-1

これが可能かどうかさえわかりませんが、あるフォルダー ディレクトリから別のフォルダー ディレクトリにファイルをコピーする必要がありますが、treeディレクトリ 2 の構造はディレクトリ 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

4

1 に答える 1

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)]}
于 2013-03-14T22:24:45.413 に答える