【问题标题】:How Do I copy the files and the Folder Tree to Remote Machine?如何将文件和文件夹树复制到远程计算机?
【发布时间】:2010-11-23 06:30:38
【问题描述】:

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

我试过下面给出的命令,但它只复制文件夹中的文件,并没有创建文件夹树:

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

【问题讨论】:

标签: powershell file copy directory copy-item


【解决方案1】:

我假设您拥有 2 台服务器的权限

Get-ChildItem "\SERVER_A\C$" -Recurse |复制项目-目标"\SERVER_B\C$"

【讨论】:

  • 我试过了,但它会复制所有文件夹以及将文件夹中的所有文件复制到目录的根目录
  • 此语句以平面结构复制文件夹和文件。
【解决方案2】:
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 文档。

      【讨论】:

        猜你喜欢
        • 2012-07-09
        • 1970-01-01
        • 1970-01-01
        • 2013-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-03
        相关资源
        最近更新 更多