我有两台服务器A和服务器B,我想使用PowerShell将所有文件和文件夹树从服务器A复制到服务器B.
我已尝试过下面给出的命令,但它只复制文件夹中的文件而不创建文件夹树:
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
答案 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。