我有两台机器服务器A和服务器B,我想使用PowerShell将所有文件和文件夹树从服务器A复制到服务器B.如何将文件和文件夹树复制到远程机器?
我曾尝试命令如下,但只复制文件夹中的文件,并不会创建文件夹树:
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
我有两台机器服务器A和服务器B,我想使用PowerShell将所有文件和文件夹树从服务器A复制到服务器B.如何将文件和文件夹树复制到远程机器?
我曾尝试命令如下,但只复制文件夹中的文件,并不会创建文件夹树:
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
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参数拆分路径将返回的源路径没有驱动器的信息。加入目标路径前缀并使用结果创建目标目录(如果它不存在)并执行复制。
请勿使用PowerShell的Copy-Item
cmdlet。找到第三方镜像/同步工具。我们使用RoboCopy。
如果你有一个源和目标文件夹,您可以使用下面的命令:
robocopy $source $dest /e
如果您需要了解该命令的任何详细信息,你可以使用robocopy /?
,或在Windows Server Technet, Robocopy参观的Robocopy文件。
我在这里回答了一个类似的问题:http://stackoverflow.com/a/22419054/9130 –