6

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

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

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

4 回答 4

5

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

robocopy $source $dest /e

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

于 2013-08-27T22:52:50.120 回答
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 参数的拆分路径将返回没有驱动器信息的源路径。将它与您的目标路径前缀连接起来,并使用结果创建目标目录(如果它不存在)并执行复制。

于 2009-12-15T04:15:14.937 回答
-3

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

于 2013-07-01T00:33:05.237 回答
-3

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

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

于 2009-08-27T07:45:08.267 回答