FactCopy使用手册
FastCopy操作模式
模式 | 操作内容 |
---|---|
差异(大小/日期) | 若重名,仅复制大小/时间不同的文件。(默认) |
差异(不覆盖) | 不复制重名文件。 |
差异(最新日期) | 若重名,仅复制时间较新的文件。 |
复制(全覆盖) | 总是复制/覆盖所有文件。 |
同步(大小/日期) | 若重名,仅复制大小/时间不同的文件。 同时删除目标目录当中来源目录里不存在的文件和目录。 |
同步(最新日期) | 若重名,仅复制时间较新的文件。 同时删除目标目录当中来源目录里不存在的文件和目录。 |
移动(全覆盖) | 复制并覆盖所有文件后删除所有来源文件。(可在一般设置切换 “复制/移动设置”→“移动(大小/时间)”) |
删除所有 | 强制删除指定文件和目录(=读取专用文件取消读取专用后删除)。 |
校验 | 对源路径和目标路径中具有匹配的大小和时间戳的文件进行相互的哈希比较。(注意:源路径和目标路径的描述应该与只是复制时相同。) |
FC校验信息显示 | 对于带有FC校验信息(:fc_verify)的文件,将显示记录的信息。 |
现存(大小/日期)(仅Pro版) | 如果存在相同的文件名,但大小或日期不同,则复制。(不存在的文件不会被复制) |
现存(最新日期)(仅Pro版) | 如果存在同名文件且时间较新,则复制该文件。(不存在的文件不会被复制) |
移动(不覆盖)(仅Pro版) | 只复制目的地不存在的文件。只有已复制的文件才会从源文件中删除。(未复制的文件不会被删除) |
FC校验信息验证 (仅Pro版) | 对于具有FC校验信息(:fc_verify)的文件,重新计算并比较当前的哈希值与它的记录信息,以验证没有发生无声的数据损坏。 |
链接和符号链接
模式 | 操作内容 |
---|---|
差异/复制 | 默认复制连接/符号链接其本身。若想改变复制目标,在设置中可更改(警告)。 |
移动 | 总是移动连接/符号链接其本身。 |
删除 | 总是删除连接/符号链接其本身。 |
硬链接
从v1.95开始,只有指定/linkdest
启动时,可重现硬链接。
(运行时TotalFiles:显示的“文件数量(目录数量)”变成“文件数量/硬链接数量(目录数量)”
两个注意点:
- 每1万硬链接消耗大概2-4MB内存。(根据路径长度而改变)。
- 为取得链接计数(linkcounter),不仅打开复制文件也打开跳过文件,所以动作会变慢。
指定/linkdest
时,总是启用/recreate
选项相同的动作。
若想总是重现硬链接,请在fastcopy2.ini
中配置 [main] linkdest=1
FastCopy命令行模式
基本格式:
- GUI版:
fastcopy.exe [/选项] file1 file2 ... [/to=dest_dir]
- CUI版:
fcp.exe [/选项] file1 file2 ... [/to=dest_dir]
在 start "" /wait fastcopy.exe的情况下,请使用fcp.exe。注意fcp设置与fastcopy设置相同(参考fastcopy2.ini)
以下为可用选项,注意’=‘前后请不要添加空格
/cmd= (noexist_only | diff | update | force_copy | exist_diff | exist_update | sync | sync_update | move | move_noexist | delete | verify | verify_read | verify_check) |
指定操作模式。(省略cmd指定时默认指定diff模式。指定delete时不用/to=dest_dir)
| ||||||||||||||||||||||||||||||
/auto_close | 复制结束后,自动关闭。 | ||||||||||||||||||||||||||||||
/force_close | 复制结束后,发生错误,也强行关闭。 | ||||||||||||||||||||||||||||||
/open_window | 不存储到系统托盘中。(不立即开始运行时不需指定) | ||||||||||||||||||||||||||||||
/estimate | 预估复制完成时间。(禁用:/estimate=FALSE) | ||||||||||||||||||||||||||||||
/balloon(=FALSE) | 完成时显示气球通知。(禁用:/balloon=FALSE) | ||||||||||||||||||||||||||||||
/no_ui | 不显示确认对话框。(为后台任务。如果使用/no_confirm_del,自动设置/no_confirm_stop和/force_close。会话0隔离(主要启动任务计划)时自动设置/no_ui。就算不显示对话框,完成时会倒计时) | ||||||||||||||||||||||||||||||
/no_confirm_del | 当用/delete参数时,不显示确认界面。 | ||||||||||||||||||||||||||||||
/no_confirm_stop | 不要显示错误对话框,即使发生严重错误。 | ||||||||||||||||||||||||||||||
/no_exec | 对FastCopy窗口界面设置参数,但是不运行。 | ||||||||||||||||||||||||||||||
/error_stop | 发生错误时显示对话框确认是否继续。(禁用:/error_stop=FALSE) | ||||||||||||||||||||||||||||||
/bufsize=N(MB) | 用MB单位来指定缓冲区大小。 | ||||||||||||||||||||||||||||||
/ini=ini文件名 | 指定ini文件进行设置。它不能包含目录名称。(默认:fastcopy2.ini) | ||||||||||||||||||||||||||||||
/log | 将操作/错误信息写入日志文件 (fastcopy.log)(禁用: /log=FALSE) | ||||||||||||||||||||||||||||||
/logfile=日志文件名 | 指定日志文件的文件名。 | ||||||||||||||||||||||||||||||
/filelog | 记录详细文件日志。在FastCopy/Log目录里面,以“日期.log”形式存储。校验时同时记录哈希值。(使用/filelog=filename可存储到指定文件。但若指定同一个文件,同时运行多个FastCopy,日志可能会混合输出) | ||||||||||||||||||||||||||||||
/skip_empty_dir | 启用过滤,不复制空文件夹。(禁用:/skip_empty_dir=FALSE) | ||||||||||||||||||||||||||||||
/job=任务名 | 指定事先注册的任务。 | ||||||||||||||||||||||||||||||
/force_start(=N) | 不等待其他FastCopy运行完成,立即开始。 (/force_start=2~N指定最大并行进程数) | ||||||||||||||||||||||||||||||
/disk_mode= (auto|same|diff) | 指定自动/相同/不同HDD模式。(默认:auto) | ||||||||||||||||||||||||||||||
/speed=(full|autoslow| 9-1(90%-10%)|suspend) | 控制速度。 | ||||||||||||||||||||||||||||||
/low_io | 优先考虑其他应用程序的IO(禁用: /low_io=FALSE) | ||||||||||||||||||||||||||||||
/srcfile="files.txt | 用文件名指定来源内容,用户每行可以描述一个文件名。(不建议指定大量文件) | ||||||||||||||||||||||||||||||
/srcfile_w="files.txt" | 与/srcfile=相同,除了由UNICODE描述。 | ||||||||||||||||||||||||||||||
/include="..." | 指定包括过滤器。 | ||||||||||||||||||||||||||||||
/exclude="..." | 指定排除过滤器。 | ||||||||||||||||||||||||||||||
/from_date="..." | 指定最旧的时间戳的过滤器。) | ||||||||||||||||||||||||||||||
/to_date="..." | 指定最新的时间戳的过滤器。) | ||||||||||||||||||||||||||||||
/min_size="..." | 指定最小尺寸的过滤器。) | ||||||||||||||||||||||||||||||
/max_size="..." | 指定最大尺寸的过滤器。) | ||||||||||||||||||||||||||||||
/time_allow=N(ms) | 指定src/dst更新日期差异的允许时间(ms),在差异(大小/日期)或差异(最新日期)。 | ||||||||||||||||||||||||||||||
/wipe_del | 在删除之前重命名文件并擦除,阻止复原。(禁用:/wipe_del=FALSE) | ||||||||||||||||||||||||||||||
/acl | 复制“访问控制表属性(ACL)”、“扩展属性”(EA)。(仅限于NTFS)(禁用:/acl=FALSE) | ||||||||||||||||||||||||||||||
/stream | 复制交换数据流(仅限于NTFS)(禁用:/stream=FALSE ) | ||||||||||||||||||||||||||||||
/reparse | 复制连接/装载点/符号链接本身(不是内容)。(复制文件内容:/reparse=FALSE) | ||||||||||||||||||||||||||||||
/verify | 校验通过xxHash3(or MD5, SHA-1, SHA-256, SHA-512, SHA3-256, SHA3-512, xxHash)写入的文件数据。(禁用:/verify=FALSE) | ||||||||||||||||||||||||||||||
/verifyinfo | 启用校验信息附加到交换数据流(:fc_verify)(禁用:/verifyinfo=FALSE) | ||||||||||||||||||||||||||||||
/dlsvt=(none|auto|always) | 指定夏令时的误差容限 | ||||||||||||||||||||||||||||||
/linkdest | 尽可能重现硬链接。详情请参照这里 。 | ||||||||||||||||||||||||||||||
/recreate | 将更新行为从“覆盖目标”更改为 “删除并重新创建目标”。(指定/linkdest时,不管是否指定/recreate运行这个动作)总是启用这个操作: fastcopy2.ini [main] recreate=1。 | ||||||||||||||||||||||||||||||
/postproc=结束时后运行名 | 指定事先注册的结束时后运行名。(禁用:/postproc=FALSE) |
例子: 将C:\test内容差异复制到D:\Backup Folder
fastcopy.exe /cmd=diff C:\test /to="D:\Backup Folder\"
FcHash快速哈希计算
FcHash.exe是用于快速哈希计算的命令工具
FcHash.exe [options] file1(or dir1) [,file2...]
选择 | 内容 |
---|---|
–(xxh | xxh3 |
–recur(sive) | 递归运行目录 |
–non_stop | 忽略错误 |
–use_cache | 使用操作系统缓存 |
例子:
C:\> fchash --sha256 C:\
C:\ :
sha256 <180a0d4144b44fc54acc9345a1453a32064ce8329ed387f4bf5faad1d7bc883a>: bootmgr
sha256 <6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d>: BOOTNXT
FastCopy和WindowsExplorer网络传输对比
以下为通过ASUS XG-C100C 10G网卡传输10G大小文件对比图,WindowsExplorer最快只能达到4.8Gbps,而FastCopy可以跑满网卡带宽达到10Gbps。

FastCopy历史版本
Version | 介绍 |
---|---|
v5.8.1 |
更新 xxHash 到最新版本 (v0.8.3)。 其他改进。 |
v5.8.0 |
增加了“每30秒校验一次”选项。 在“日志设置”中添加了自动删除文件日志的选项。 修正了当一个目录下有大量目录(超过 700 万个)时可能出现的异常。 |
v5.7.15 |
修复了在启用 交换数据流 并选择 FC添加校验信息 添加选项的情况下复制 交换数据流 中包含 FC添加校验信息 的文件时未反映时间戳的问题。 |
v5.7.14 |
添加 当前速度显示(Src速度/Dest速度/总速度)在 TransRate 字段中 选项。 修复了使用 /job=启动时按Ctrl键时(即使 FastCopy 不在前台)未反映源信息的问题(从 v5.4.0 到 v5.7.12。强烈建议更新)。 |
v5.7.12 | 各种稳定性改进。 |
v5.7.11 |
为结束时后运行添加了“关闭 FastCopy”。 启用将时间戳设置为 1980-01-02,直到校验完成后,即使时间戳恢复失败,也会重试(部分环境有效)。 |
v5.7.10 | 修复了极少数情况下由于接近 100% Read 错误环境(在相同HDD模式下)而发生的异常。 |
v5.7.9 |
修复了极少数情况下由于频繁 I/O 错误而发生的异常(在相同HDD模式下)(仅限 v5.7.7)。 时间戳为1980-01-02的文件将从校验中运行仅通过完美校验启用。 修复了 交换数据流/ACL 使用常规验证检查时 src 哈希值始终为 0 的问题(仅限 v5.7.7~8)。 |
v5.7.7 |
进一步提高速度。 修复了设置“将时间戳设置为 1980-01-02,直到校验完成”时无法正确恢复符号链接/连接日期的问题。 改进了启用 ACL 时的行为。 |
v5.7.5 | 各种稳定性改进。 |
v5.7.3 | 通过添加 /ini= 选项,现在可以指定 ini 文件名。(默认: fastcopy2.ini) |
v5.7.2 |
修复了从外壳扩展中选择删除功能时权限升级不起作用的问题。(仅限 v5.7.1) |
v5.7.1 | 另外,还可以为 1.启动,2.右键单击外壳时的"复制",和 3.右键拖动外壳时的"复制" 中的每一个选择默认操作模式。 |
v5.7.0 |
添加 Microsoft Defender排除。(复制 zip、exe、dll 等文件的速度会明显加快) 为 新的许可证认证方式 中的罕见环境提供额外支持。 更正了将时间戳设置为 1980-01-02,直到校验完成的错误。 |
v5.6.0 |
添加 时间戳为 1980-01-02的文件将从校验中运行(Pro版)。 为 新的许可证认证方式 中的罕见环境提供额外支持。 |
v5.5.0 |
添加 将时间戳设置为 1980-01-02,直到校验完成。 添加 新的许可证认证方式。 各种稳定性改进。 |
v5.4.3 |
在文件菜单中添加了"开始新的FastCopy"项目。 修复了移动模式中的一个罕见异常(启用 ACL/交换数据流时)。 修复了Win11的外壳扩展设置中的一个罕见异常。 |
v5.4.2 |
在 Win11 的外壳扩展中添加了一个选项,以在右键单击时不显示顶层菜单。 添加了SD卡上不使用异步I/O选项(由于某些旧SD卡适配器的问题)。 修正了移动过程中出现I/O错误时无法继续操作的问题。 将构建环境从 VS2019 更改为 VS2022。 |
v5.4.1 |
您现在可以自定义操作模式列表。 添加 "现存(大小/日期)" 模式(仅限Pro版)。 添加 "现存(最新日期)" 模式(仅限Pro版)。 添加校验类型 SHA3-256/SHA3-512(OpenSSL已更新至 3.1.2)。 启用 ACL/交换数据流时,速度得到提高。 改进了选择 任务 时的行为 按住 Shift 键并按 Source/DestDir 按钮打开文件资源管理器。 |
v5.3.1 | 修正校验(MD5/SHA1/SHA256/SHA512)过程中的内存泄漏问题。 |
v5.3.0 |
添加 "移动(不覆盖)"模式(仅限Pro版)。 |
v5.2.6 |
更新 xxHash 到最新版本 (v0.8.2)。 改进了简体中文。 修复了"Program Files"中无法安装的问题(仅限 v5.2.5)。 |
v5.2.4 | 修复了部分环境下出现的异常。 |
v5.2.3 |
修正了当一个目录下有大量目录时可能出现的异常。 修正了校验过程中可能发生I/O错误的异常。 |
v5.2.0 | 增加了简体中文版本。 |
v5.1.1 |
托盘图标的状态即使在运行中也应该改变。 信息更新从1秒改为默认的0.5秒(可以从设置 → 其他中改变)。 |
v5.1.0 |
为包括/排除过滤器添加多行编辑器。 改进了Win11的外壳扩展的行为。 |
v5.0.2 - v5.0.5 |
改进了核查期间的时间预估。 纠正了在设置屏幕中,空间模式的预分配没有被保存的问题。 修正了在某些Win11环境下,旧的上下文菜单中显示额外的条目。 (可能需要重新注册) 增加了网站许可证。 |
v5.0.0 |
更改许可证。(在工作场所使用等,必须购买专业版许可证密钥) 增加完美校验。(仅Pro版) 支持Win11的外壳扩展。 异步I/O算法的演变,以获得更高的速度。 由于特权时预先分配空间,在高速SSD环境下速度提高20%-30%。 在主要命令中增加了 "校验"、"FC校验信息显示 "、"FC校验信息验证(仅Pro版)"。 支持CPU亲和力。 增加了总是并行运行的驱动器设置。 在校验错误时的动作中增加了时间戳变化(1980-01-01) 纠正了删除时的内存泄漏。 |