跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何提高Windows拷贝文件速度 Win11原生支持的多线程复制方法

Windows 11默认未启用多线程复制,需通过注册表开启IoEnableMultiThreadedCopy、使用robocopy /MT参数、PowerShell并行脚本、禁用缩略图及关闭传递优化五种方式协同优化。

如果您在 Windows 11 中执行文件拷贝操作,发现速度明显低于硬盘理论带宽,可能是系统默认未启用原生多线程复制机制。Windows 11 自 22H2 起已内置多线程文件复制能力,但需通过特定方式触发或配置才能生效。以下是启用并优化该功能的具体方法:

一、启用文件资源管理器多线程复制(注册表开关)

Windows 11 原生多线程复制功能默认处于禁用状态,需手动开启注册表项以激活后台并行传输通道,使系统在检测到大文件或大批量文件时自动调用多个 I/O 线程。

1、按

Win + R输入regedit,以管理员身份运行注册表编辑器。

2、导航至路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel。

3、右键右侧空白区域,选择“新建” → “DWORD (32位)值”,命名为IoEnableMultiThreadedCopy。

4、双击该值,将“数值数据”设为

1(十六进制或十进制均可),点击“确定”。

5、

无需重启,注销当前用户并重新登录,或重启文件资源管理器进程(通过任务管理器结束“explorer.exe”后重启)。

二、使用 Robocopy 启用显式多线程复制

Robocopy 是 Windows 11 内置命令行工具,其 /MT 参数可强制启用指定数量的并发线程,绕过资源管理器限制,直接调用系统底层多队列I/O接口,对 NVMe SSD 或 RAID 阵列提升尤为显著。

1、以管理员身份打开

Windows 终端(管理员)

或命令提示符。

2、输入基础命令格式:

robocopy "源路径" "目标路径" /e /mt:32(/e 表示包含空子目录,/mt:32 表示启用32线程)。

3、如需保留所有属性与权限,追加参数:

/copy:DATSO /dcopy:T。

4、添加日志输出便于监控:

/log:C:\copy_log.txt。

5、执行后可见实时线程调度信息,吞吐量将随线程数增加而线性上升(建议线程数不超过 CPU 逻辑核心数的2倍)。

三、通过 PowerShell 启用高级并行复制(PowerShell 7+)

PowerShell 7.2 及以上版本支持-Parallel参数与ForEach-Object结合,可对文件列表实施真正并行化分发,尤其适用于海量小文件场景,避免传统串行遍历瓶颈。

1、确保已安装

PowerShell 7.x(非系统自带 PowerShell 5.1)。

elasticsearch-9.4.0 win PHP中文网提供Elasticsearch 9.4.0 Windows 版本压缩包下载解压即用,内置 OpenJDK 无需额外配置 Java 环境。该版本重磅推出原生 Prometheus 支持、正式版 Elastic Workflows 以及基于 NVIDIA cuVS 的 GPU 加速向量索引,大幅提升 AI 检索与可观测性能力。建议前往官网下载,快速体验极速搜索与强大的数据分析功能。

下载

2、运行以下脚本(替换对应路径):

$files = Get-ChildItem "D:\source" -FileInvoke-Parallel -InputObject $files -ScriptBlock {& robocopy $_.DirectoryName $_.DirectoryName.Replace("source", "dest") $_.Name /j /r:1 /w:1}

3、其中

/j启用无缓冲快速传输模式,/r:1 /w:1控制重试策略,降低因瞬时I/O阻塞导致的线程挂起。

4、该方式可实现每秒数百个小文件的并发处理,实测 5000 个 100KB 文件可在8.3 秒内完成。

四、禁用文件资源管理器预览与缩略图生成

Windows 11 文件资源管理器在复制过程中仍会尝试为源/目标目录中的图像、视频等文件生成缩略图,此行为占用额外 GPU 与磁盘 I/O 资源,间接拖慢主复制线程调度效率。

1、打开任意文件夹,点击顶部菜单栏“查看” → “选项” → “更改文件夹和搜索选项”。

2、切换到“查看”选项卡,勾选

“始终显示图标,从不显示缩略图”

。

3、取消勾选

“在单独的进程中打开文件夹窗口”

和“显示隐藏的文件、文件夹和驱动器”

(若非必要)。

4、点击“应用到文件夹”,确认将此设置应用于所有文件夹。

五、关闭传递优化对本地拷贝的干扰

Windows 11 默认启用的“传递优化”服务可能在后台劫持本地文件读写请求,将其误判为更新分发流量,从而引入额外网络协议栈开销与缓存代理层,导致本地磁盘间拷贝延迟升高。

1、进入“设置” → “Windows 更新” → “传递优化” → “高级选项”。

2、将

“允许从其他电脑下载”

设置为关闭。

3、在“高级选项”中,点击

“重置传递优化”

按钮,清除所有缓存索引与代理状态。

4、返回服务管理器(

services.msc),找到Delivery Optimization服务,右键选择“停止”,并将启动类型设为“手动”。

相关文章