2009-08-27 70 views
5

我有兩臺機器服務器A和服務器B,我想使用PowerShell將所有文件和文件夾樹從服務器A複製到服務器B.如何將文件和文件夾樹複製到遠程機器?

我曾嘗試命令如下,但只複製文件夾中的文件,並不會創建文件夾樹:

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

我在這裏回答了一個類似的問題:http://stackoverflow.com/a/22419054/9130 –

回答

-3

我會假設你有2個服務器的權利

Get-ChildItem「\ SERVER_A \ C $」 - 撤銷|複製項目-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 cmdlet。找到第三方鏡像/同步工具。我們使用RoboCopy

4

如果你有一個源和目標文件夾,您可以使用下面的命令:

robocopy $source $dest /e 

如果您需要了解該命令的任何詳細信息,你可以使用robocopy /?,或在Windows Server Technet, Robocopy參觀的Robocopy文件。

相關問題