修改Powershell中的传输速率

修改Powershell中的传输速率,powershell,networking,copy,robocopy,Powershell,Networking,Copy,Robocopy,运行PowerShell脚本时,是否有方法修改传输速率 我问这个问题的原因是,我必须复制100多个文件,从200KB到不到一个Meg。问题是这些文件位于WAN中的另一个位置,并且我们的连接相当慢。如果我试图在工作时间复制这些文件,它会终止与中央办公室的连接和服务 我看了看性能监视器,看到了从服务器传输的文件是如何跳得很高的,所以我想如果有办法限制文件复制速度,这样,我就可以在生产时间内复制文件,而不会影响网络连接。如果要在使用robocopy复制文件时限制带宽使用,可以使用以下语法: 使用/IP

运行PowerShell脚本时,是否有方法修改传输速率

我问这个问题的原因是,我必须复制100多个文件,从200KB到不到一个Meg。问题是这些文件位于WAN中的另一个位置,并且我们的连接相当慢。如果我试图在工作时间复制这些文件,它会终止与中央办公室的连接和服务


我看了看性能监视器,看到了从服务器传输的文件是如何跳得很高的,所以我想如果有办法限制文件复制速度,这样,我就可以在生产时间内复制文件,而不会影响网络连接。

如果要在使用robocopy复制文件时限制带宽使用,可以使用以下语法:

使用/IPG复制目录以限制带宽使用。一般的经验法则是使用/IPG:750,大约使用1Mbps

关于这方面的更多细节将在下面介绍


希望有帮助。

powershell使用start-sleep cmdlet在操作之间引入延迟

如果您正在从文件列表(可能是从目录列表结果)循环运行文件复制例程,则可以在每个文件副本之间放置启动睡眠,以释放网络以执行其他操作


至于在实际的文件复制例程中执行相同的操作,您必须使用.NET对象编写自己的文件复制脚本。例如,您可以针对源文件打开FileStream对象,然后将4k数据拉入缓冲区,然后休眠,然后重复。拉取所有数据后,可以将其保存到新文件中

在没有看到代码的情况下,很难对您的问题进行评论。但听起来好像是在使用
robocopy.exe
进行复制,其中包含一个用于包间间隙
/IPG
的参数,您可以修改该参数以增加发送包之间的时间间隔,从而减少带宽。
Robocopy /ipg:750 /z /r:3 /w:3 /tee /LOG+:c:\robolog.txt \\server01\share \\server02\share