2009-08-27 9 views
5

サーバーAとサーバーBの2台のマシンがあり、PowerShellを使用してサーバーAからサーバーBにすべてのファイルとフォルダツリーをコピーしたいとします。どのようにファイルとフォルダツリーをリモートマシンにコピーしますか?

私は下記のコマンドを試してみましたが、フォルダ内にコピーしたファイルのみとフォルダツリーを作成しませんしている:私はあなたが2台のサーバー

の権限を持っていると仮定します

Copy-Item E:\TestSource\* //TestDestination/ -recurse -force 
+1

私は同じような質問をここに答えました:http://stackoverflow.com/a/22419054/9130 –

答えて

-3

をGet-ChildItem "\ SERVER_A \ C $" -Recurse |コピー項目-Destination「\ SERVER_B C $ \」

+0

私はそれを試しましたが、すべてのフォルダをコピーし、フォルダのすべてのファイルをディレクトリのルートにコピーします – Selwyn

+0

このステートメントは、フォルダとファイルをフラットな構造でコピーします。 – Zorayr

1
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パラメータとスプリットパスを使用。宛先パスのプレフィックスと結合し、その結果を使用して宛先ディレクトリを作成し(存在しない場合)、コピーを実行します。

-3

PowerShellのCopy-Itemコマンドレットは使用しないでください。サードパーティのミラーリング/同期ツールを探します。我々はRoboCopyを使用します。あなたが元とコピー先のフォルダを持っている場合は

4

すると、次のコマンドを使用できます。

robocopy $source $dest /e 

コマンドについてのより多くの情報が必要な場合は、robocopy /?を使用するか、またはWindows Server Technet, RobocopyでのRobocopyのマニュアルを訪問することができました。

関連する問題