首页 > 解决方案 > 如何在复制项中使用超时?

问题描述

我想将大约 600 个文件从 Windows 服务器复制到另一台位于 200Mbps 广域网链路上的机器。我不想饱和这个链接。作为解决方案,在将每个项目复制到另一台 Windows 服务器后,我想等待大约 15 秒。

我有以下代码:

[string]$sourceDirectory  = "C:\Temp\*"
[string]$destinationDirectory = "\\ipaddress\d$\Temp\"
Copy-item -Recurse -Verbose $sourceDirectory -Destination $destinationDirectory

标签: powershell

解决方案


您是否考虑过将 robocopy 与 ipg 一起使用?您可以在复制文件时添加带宽限制。这将是更好的选择,无需添加等待,也不会影响链接

[string]$sourceDirectory  = "C:\Temp"
[string]$destinationDirectory = "\\ipaddress\d$\Temp"

Robocopy /ipg:750 /E /z /r:3 /w:3 /tee /LOG+:c:\robolog.txt $sourceDirectory $destinationDirectory

&计算ipg值的公式:

在此处输入图像描述

Where
D is the calculated latency or inner packet gap
Bd is the desired bandwidth you would like to transfer at
Ba is the available bandwidth to you

有关更多详细信息,请参阅此

https://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx#Copy_with_bandwidth_limitation

http://blog.nold.ca/2015/07/limiting-bandwidth-using-robocopy.html


推荐阅读