如何将文件和文件夹树复制到远程计算机?

时间:2009-08-27 06:01:26

标签: powershell file copy directory copy-item

我有两台服务器A和服务器B,我想使用PowerShell将所有文件和文件夹树从服务器A复制到服务器B.

我已尝试过下面给出的命令,但它只复制文件夹中的文件而不创建文件夹树:

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

4 个答案:

答案 0 :(得分:4)

如果您有源文件夹和目标文件夹,则可以使用以下命令:

robocopy $source $dest /e

如果您需要有关该命令的更多信息,可以使用robocopy /?,或访问Windows Server Technet, Robocopy处的Robocopy文档。

答案 1 :(得分: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
}

将Split-Path与-NoQualifier参数一起使用将返回没有驱动器信息的源路径。将其与目标路径前缀连接起来,并使用结果创建目标目录(如果它不存在)并执行复制。

答案 2 :(得分:-3)

我认为您拥有2台服务器的权利

Get-ChildItem“\ SERVER_A \ C $” - Recurse | Copy-Item -Destination“\ SERVER_B \ C $”

答案 3 :(得分:-3)

不要使用PowerShell的Copy-Item cmdlet。查找第三方镜像/同步工具。我们使用RoboCopy