我有两台机器服务器 A 和服务器 B,我想使用 PowerShell 将服务器 A 中的所有文件和文件夹树复制到服务器 B。
我尝试了下面给出的命令,但它只复制文件夹中的文件而不创建文件夹树:
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
我有两台机器服务器 A 和服务器 B,我想使用 PowerShell 将服务器 A 中的所有文件和文件夹树复制到服务器 B。
我尝试了下面给出的命令,但它只复制文件夹中的文件而不创建文件夹树:
Copy-Item E:\TestSource\* //TestDestination/ -recurse -force
如果您有源文件夹和目标文件夹,则可以使用以下命令:
robocopy $source $dest /e
如果您需要有关该命令的更多信息,可以使用robocopy /?
或访问Windows Server Technet 上的 Robocopy 文档,Robocopy。
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。
我假设您拥有 2 台服务器的权利
Get-ChildItem "\SERVER_A\C$" -Recurse | 复制项目-目标“\SERVER_B\C$”