You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows环境中模拟文件慢速复制?

Windows环境模拟慢速文件复制的方案

一、Windows内置工具(无需额外安装)

1. BITS传输工具(Start-BitsTransfer)

利用Windows自带的后台智能传输服务,可直接指定传输速率上限,精准模拟慢速复制:

Start-BitsTransfer -Source "C:\source\largefile.iso" -Destination "D:\target\" -TransferRateBitsPerSecond 1048576

参数说明:1048576对应每秒1Mbps(兆位/秒),可根据测试需求调整数值,例如524288代表512Kbps。

2. Robocopy间接限速

Robocopy无直接限速选项,但通过/ipg(数据包间隔)参数控制传输间隙,间接降低复制速度:

robocopy "C:\source" "D:\target" largefile.iso /ipg:200

参数说明:/ipg:200表示每个数据包发送后等待200毫秒,数值越大,复制速度越慢,需结合文件大小调整间隔值。

二、第三方轻量工具(可选)

若需要更灵活的限速控制,可使用TeraCopy:

  • 图形界面:打开后在设置面板直接调整复制速度上限。
  • 命令行模式:
TeraCopy.exe copy "C:\source\file.txt" "D:\target\" /speedlimit:500

参数说明:/speedlimit:500代表每秒500KB的复制速度。

三、简化脚本方案(替代复杂自定义程序)

若偏好脚本实现,可使用PowerShell编写分块复制脚本,通过控制分块大小和延迟模拟慢速:

$source = "C:\source\testfile.bin"
$dest = "D:\target\testfile.bin"
$bufferSize = 1024  # 每次复制1KB数据
$delayMs = 10       # 每次复制后延迟10毫秒

$streamIn = [System.IO.File]::OpenRead($source)
$streamOut = [System.IO.File]::OpenWrite($dest)
$buffer = New-Object byte[] $bufferSize

while (($bytesRead = $streamIn.Read($buffer, 0, $bufferSize)) -gt 0) {
    $streamOut.Write($buffer, 0, $bytesRead)
    Start-Sleep -Milliseconds $delayMs
}

$streamIn.Close()
$streamOut.Close()

调整$bufferSize(分块大小)和$delayMs(延迟时长)即可灵活控制复制速度,比从零编写完整程序更高效。

内容的提问来源于stack exchange,提问作者Gep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:31:11