功能关键词:复制到多个目录、文件夹分发、同名时自动添加序号、路径列表的复用、文件批量备份。
工具介绍
批量复制工具可以将多个文件或文件夹复制到多个目标目录,每个目标都会接收源列表中的全部内容。适用于将一组文件分发到不同文件夹,或在多个位置创建副本的情况。
此页面提供独立的源列表和目标列表、列表的导入和导出、覆盖/跳过/自动添加序号这3种同名处理策略,以及进度、复制速度、大小和日志。默认的同名处理策略为覆盖,也有在复制前清空目标内容的选项。
工具截图

主要功能
- 使用多个文件或文件夹作为源,复制到1个或多个目标目录。
- 复制文件夹时,无需另行选择遍历,便会自动递归包含子目录、文件和目录层级。
- 通过添加、拖放、删除选中项、清空列表来管理源和目标。
- 将两个路径列表分别导出为UTF-8的TXT,之后导入已有的有效路径。
- 发现同名文件时,进行覆盖、跳过,或添加(1)、(2)等编号,这3种方式互斥。
- 可以选择在复制前清空目标文件夹的内容,页面用红色标示此选项,并提醒谨慎选择。
- 小文件在内部使用4个线程进行复制,50MiB及以上的文件会被分块并显示单个文件的进度,提供停止操作。
使用前的准备
源可以使用普通文件或文件夹,页面不会按文件扩展名进行筛选;目标必须是文件夹。可以在浏览窗口中选择多个项目,或拖动到对应的列表中。
开始前,两个列表中各需要至少有1个项目。开始前会验证软件权限,账号当前需要拥有使用此工具的权限。
目标应与源分离,避免使用同一目录或相互嵌套。代码对源/目标的包含关系没有完整的保护,尤其不要对包含源的目标启用清空。
详细操作步骤
1. 向源列表添加文件或文件夹
在“要复制的文件或文件夹”区域,点击“添加文件”选择多个文件,或点击“添加文件夹”选择目录;也可以拖动到左侧的大列表中。新项目会追加到现有列表中,完全相同的路径字符串不会被重复添加。
源为文件夹时,会在目标中创建与源文件夹同名的目录,并递归复制其内容;单个文件则直接放入目标目录。此页面没有仅复制特定层级或按格式筛选的选项。
可以多选不需要的项目并点击“删除选中项”;“清空列表”只清空此任务列表,不会删除源文件。如果已经有路径TXT,请使用“导入列表”;要保留当前源列表,请使用“导出列表”,每行保存一个路径。

2. 向目标列表添加接收目录
在下方的“目标文件夹(目录)”区域,点击“添加文件夹”选择1个或多个目标,或将现有目录拖动到此列表中。每个目标会接收所有源,而不是按列表顺序一对一对应。
使用此区域的“删除选中项”和“清空列表”管理目标。目标路径也可以通过“导出列表”单独导出,或通过“导入列表”导入;TXT导入需要UTF-8编码,逐行读取,并跳过空行、不存在的路径以及列表中字符串重复的项目。
目标列表用于文件夹,导入的内容也应只包含文件夹路径。目标和源都有多个项目时,先确认同名文件或同名源文件夹是否会写入同一位置,然后向下滚动设置同名处理策略。

3. 向下滚动设置同名处理策略,并开始复制
沿页面右侧滚动条向下滚动到“参数与操作”。同名文件已存在时,从3个选项中选择1个;默认的“覆盖”会在复制前删除目标中的同名文件;“跳过”会保留现有文件;“同名文件自动添加序号”会尝试以filename(1)、filename(2)等新名称写入。
“复制前清空目标文件夹中的现有内容(谨慎选择)”默认不勾选。勾选后,目标中的现有文件和子目录会在复制前被删除,不会移入回收站,开始前也不会另外显示清空确认对话框。如果需要保留目标中的现有内容,请始终保持不勾选。
确认两个列表、同名处理策略和清空状态后,点击“开始复制”,需要停止时点击“停止”。停止后,已复制的结果仍会保留;当前的小文件复制可能会继续,并会尝试删除正在分块复制的大文件的不完整副本。

4. 继续向下滚动查看进度、统计和日志
继续滚动到“进度与日志”,查看文件进度、已复制字节数、复制速度和预计剩余时间。复制50MiB及以上的大文件时,还会显示当前文件名和单个文件的进度。
日志中会记录扫描、创建目录、复制大文件、失败原因和最终概要。没有“结果另存为”按钮,文件会直接写入目标列表中的各个目录;请在文件管理器中打开这些目标进行确认。
正常结束时会显示“完成”,整体进度设为100%,但仍可能包含失败或跳过。文件进度的分母也包含目录任务,不一定与实际文件数量一致;应结合日志中的成功、失败、跳过统计判断完整性。
此页面没有复制后验证、可恢复复制、复制结果报告导出或“打开目录”按钮。两个“导出列表”操作只保存路径列表,不会保存本次运行中复制成功的详细信息。

主要参数说明
| 参数 | 功能 | 建议 |
|---|---|---|
| 源列表 | 要复制的文件和目录。可同时指定多个项目 | 目录会自动递归遍历;请避免源重复导致任务重复。 |
| 目标列表 | 每个目录接收所有源 | 请使用与源分离的目标目录。 |
| 覆盖 | 默认。复制前删除同名目标 | 请确认不需要保留旧副本后再使用。 |
| 跳过 | 同名项已存在时不复制,保留旧文件 | 不会验证旧文件是否完整或是否已更新。 |
| 同名文件自动添加序号 | 尝试添加(1)、(2)等编号 | 对于同一批次中并行处理的同名项,仍需注意冲突;这不被视为完整的冲突检查。 |
| 先清空目标 | 删除目标中的现有文件和子目录 | 默认不勾选;如果需要保留旧内容,请保持禁用。 |
| 列表导入/导出 | UTF-8的TXT,每行一个路径 | 源和目标分别保存,导入时仅接受已存在的路径。 |
| 内部复制方式 | 小文件使用4个线程,50MiB及以上的文件使用8MiB的分块 | 此页面不提供线程数或分块大小设置。 |
结果与保存
文件会直接写入各个目标。单个文件使用原文件名,源文件夹保留其目录名和下属层级,也会尝试创建空目录。多个同名源文件夹会合并到同名目标目录,文件冲突则按所选处理策略处理。
复制时会尝试保留文件时间等元数据,此页面没有复制后重新读取或校验和验证。重复选择父级和子级源、多个源之间的同名文件,或指向同一目录的不同路径写法,可能会创建重复或冲突的并行任务,应该先整理列表。
覆盖时会先删除旧目标,之后即使复制失败,旧副本也不会自动恢复。先清空模式也没有撤销操作或恢复入口,完成后不会生成源文件与目标的差异报告。
停止也不会撤销已完成的文件;停止大文件时会尝试清理当前不完整的副本,但其他异常可能导致部分文件残留。再次运行会重新扫描,跳过策略仅根据同名项是否存在进行判断,因此不能将其视为可恢复复制或一致性验证。
常见问题与使用建议
1. 有2个源和2个目标时,会一对一对应吗?
不会,每个目标都会接收所有源。
2. 复制文件夹时需要选择遍历吗?
没有遍历选项;添加文件夹后,会递归扫描并保留目录层级。
3. 添加文件夹后,只会复制其内容吗?
目标中还会创建与源同名的顶层文件夹。
4. 清空列表会删除磁盘上的文件吗?
不会,只会从当前任务列表中删除项目,与先清空目标内容的功能不同。
5. 同名时的3种方式可以同时选择吗?
不可以,代码中设置为互斥,并保留至少1项,默认为覆盖。
6. 跳过会比较旧文件和新文件的内容吗?
不会,只判断同名路径是否已存在。
7. 先清空会将项目移入回收站吗?
不会,使用的是直接删除,开始前没有专门的确认对话框。
8. 进度为100%是否意味着没有失败?
不是,正常结束时会设为100%,应查看日志中的失败数和跳过数。
9. 导出的列表是复制结果报告吗?
不是,只是从对应列表中按每行一个路径的形式包含路径的TXT。
10. 可以暂停复制并从原字节位置恢复吗?
没有暂停和恢复操作;再次开始时会重新构建任务,现有文件按同名处理策略处理。




