サーバー A とサーバー B の 2 台のマシンがあり、PowerShell を使用してすべてのファイルとフォルダー ツリーをサーバー A からサーバー B にコピーしたいと考えています。
以下のコマンドを試しましたが、フォルダー内のファイルのみをコピーし、フォルダー ツリーを作成しません。
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
サーバー A とサーバー B の 2 台のマシンがあり、PowerShell を使用してすべてのファイルとフォルダー ツリーをサーバー A からサーバー B にコピーしたいと考えています。
以下のコマンドを試しましたが、フォルダー内のファイルのみをコピーし、フォルダー ツリーを作成しません。
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
Get-ChildItem \\server_a\c$ -Recurse | % {
$dest = Join-Path -Path \\server_b\c$ -ChildPath (Split-Path $_.FullName -NoQualifier)
if (!(Test-Path $dest))
{
mkdir $dest
}
Copy-Item $_.FullName -Destination $dest -Force
}
-NoQualifier パラメータを指定して Split-Path を使用すると、ドライブ情報なしでソース パスが返されます。それを宛先パスのプレフィックスと結合し、結果を使用して宛先ディレクトリを作成し (存在しない場合)、コピーを実行します。
私はあなたが2つのサーバーの権利を持っていると思います
Get-ChildItem "\ SERVER_A \ C $" -Recurse | Copy-Item -Destination "\ SERVER_B \ C $"