2009-08-27 48 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文件。

相关问题