FastCopy ver5.8.0

2024/10/08 H.Shirouzu and FastCopy Lab, LLC.

Index

1. About
2. License
3. Environment
4. Installation
5. Usage & Main Window
6. Settings
7. Command Line
8. FcHash.exe
9. Warning
10. Support Forum/Latest Version
11. FAQ
12. History

1. About

FastCopy is the Fastest Copy/Backup Software on Windows.

It supports UNICODE and over MAX_PATH (260 characters) file pathnames.

It automatically selects different methods according to whether Source and DestDir are in the same or different HDD(or SSD).
Diff HDDReading and writing are processed respectively in parallel by separate threads.
Same HDDReading is processed until the big buffer fills. When the big buffer is filled, writing is started and processed in bulk.

Reading/Writing are processed with no OS cache, so other applications do not become slow.
It can achieve Reading/Writing performance that is close to the device limit.
Include/Exclude Filter (UNIX Wildcard style) can be specified. ver3.0 or later, Relative Path can be specified.
It runs fast and does not hog resources, because MFC is not used. (Designed using Win32 API and C Runtime only)

2. License

(A Pro version license key is required for use in the workplace. Buy License.)
FastCopy End User License Agreement (EULA)

1. (Usage License) This software requires a Pro version license for use in non-domestic environments, such as workplaces. It is only available for free use by individuals (non-profit) within the household.
2. (Disclaimer) FastCopy Lab, LLC. provides this software `as is' and does not assume any responsibility or liability for any defects.
3. (Prohibition of Reverse Engineering) Reverse engineering by any means is prohibited.
4. (Prohibition of Transfer) Lending, transferring, or sublicensing the Pro version license to a third party is prohibited.

Copyright 2004-2024 SHIROUZU Hiroaki All rights reserved.
Copyright 2018-2024 FastCopy Lab, LLC. All rights reserved.

Comparison chart between the Pro version and other versions

(Automatically changes to the Pro version by registering the Pro version license key.)
Pro ver NormalOld ver(v4.x)
Use in the workplace(*1)
Perfect Verify
Check for silent data corruption
Several operating modes
Use in the home
Win11 Shell extension
Further speedup
Speedup with privileged
CPU Affinity
Bugfix for 4.x/5.x
(*1) Excluding 2-week trial period.
Using Library License
xxHash Library Copyright (c) 2012-2023, Yann Collet All rights reserved.
License details.
OpenSSL Library Copyright (c) 1998-2023, The OpenSSL Project All rights reserved.
License details.

3. Environment

Windows 7/8/8.1/10/11
Windows Server 2012(&R2)/2016/2019/2022

4. Installation

Installation

Please run FastCopy3xx_installer.exe, and install it in a new directory.
If you want to install in USB memory or etc, please use "Extract" button in installer.
run with /h option, it shows the installer options. (/silent, /extract or etc)

Uninstallation

In Win7 or later, you can uninstall from "Apps & features (or Program and Features)".
Or you can use setup.exe located in the installed directory.
run with /r /silent option, it means silent uninstallation.

5. Usage & Main Window

Main window when minimized appears in task notification area.
When running, various statuses are displayed.
(Inside the file number's parentheses is the number of directories.)

Source / DestDir

FastCopy retains the history of 10 entries in Source/DestDir. (This can be increased or decreased in the Option | Main settings dialog.)
If you want to specify two or more files/dirs in the Source field, please describe a pathname line by line.
If you want to add files/dirs to the Source field by using drag and drop, simply drop while pushing CTRL.

You can also drag & drop to DestDir field.

The behavior depends on whether or not '\' is the end of DestDir.

1. The last character of DestDir is '\' Copy Source directory, including itself, to DestDir.
(DestDir\SourceDir\Contents_of_SourceDir)
2. The last character of DestDir is NOT '\' Copy Source directory's contents to DestDir.
(DestDir\Contents_of_SourceDir)
However, if multiple directories are specified in Source, the behavior will be changed to 1.

(mini tips) If you want to copy Source directory's contents to the DestDir that is specified drive root, please append "*" to Source directory.
For example, if Source is "C:\Folder1\*" and DestDir "D:\", the result is D:\(Contents_of_Folder1)

Operation mode

ModeDetail
Diff (No Overwrite) Copy if the same filename does not exist in destination.
Diff (Size/date) Copy if size or date is different, or if it does not exist (in default)
Diff (Newer) Copy if source file timestamp is newer or does not exist.
Copy (Overwrite) Always copy/overwrite all.
Exist (Size/date)
 (Pro Only)
Copy if the same file name exists and the size or date is different.
(Files that do not exist will not be copied.)
Exist (Newer)
 (Pro Only)
Copy if the same file name exists and source file timestamp is newer.
(Files that do not exist will not be copied.)
Sync (Size/date) Copy if size or date is different or it does not exist.
In addition, delete all destination files/directories that do not exist in Source.
Sync (Newer) Copy if date is newer or it does not exist.
In addition, delete all destination files/directories that do not exist in Source.
Move (Overwrite) Always copy/overwrite all and delete all copied source files.
(To change select "Move (Overwrite all)" → "Move (Size/date)" in the settings dialog.)
Move (No Overwrite)
 (Pro Only)
Only files that do not exist at the destination are copied. Only copied files are deleted from the source.
(Files that are not copied are not deleted.)
Delete Delete all files/dirs forcibly.
Verify Mutual hash comparisons are performed for files with matching sizes and timestamps in Source and DestDir.
(Note: Source and DestDir should be the same description as when just copying. For example, if you want to compare C:\temp\ and D:\temp\, please describe C:\temp\ in Source and D:\ in DestDir)
FC Verify Info Disp Displays record information for files with FC verify information (:fc_verify)
FC Verify Info Check
 (Pro Only)
For files with FC verify information (:fc_verify), recalculate & compare the current hash value with its recorded information to verify that silent data corruption has not occurred.
(In "Listing", pressing the button while holding down the Shift key will also be recorded in the file log.)

Buttons & Options

Execute The copy operation is executed. While executing, the button changes to "Cancel..." button.
- While pushing CTRL, the confirmation dialog is displayed.
Listing The files and directories list that will be copied and deleted are displayed. '+' means copying, and '-' means deleting.
- While pushing CTRL (button label "listing" → "listing+v"), compare the file pairs that will be skipped (except skipping by filter).
- While pushing Shift (and if filelog is enabled), write listing contents to filelog. (If FileDate/FileSize option in log settings is enabled, this information will be shown/written)
Buffer size Show the size(MB) of the main buffer for Read/Write operations. If it is clicked, setting dialog will be opened.
Speed Control Specify "Full Speed", "Auto Slow"(*1), "90%"~"10%", "Suspend".
If you feel it is hogging resources, it is recommended to set to "Auto Slow" (If mouse movement is detected, or active window is changed (and FastCopy window is not in the foreground), it will be slowed down).
If "Full Speed" is not selected, low process priority class is set.
(This setting is not saved by job manage)
NonStop Don't interrupt even if errors occur by Read/Write/Delete, and keep processing as much as possible.
(However, errors are displayed in the main window, and recorded in the error log.)
Verify Verify written files data by xxHash3 (MD5/SHA-1/SHA-256/SHA3-256/SHA3-512/xxHash).
(If you want to use MD5/SHA-1/SHA-256/SHA3-256/SHA3-512/xxHash, it can be selected in Verify Options of settings.)

There are two types of verification: Conventional verification (re-reads only Dest) and Perfect verification (re-reads both Src and Dest. Pro version only).
(Perfect verify can also detect temporary errors when reading Src.)

if verify error occurs, hash values of src/dest are shown, and it is renamed dest-filename with .fc_verify_err.
(Depending on the setting, it can be removed(or etc) it instead of renaming)
Estimate Display the estimated complete time. This will make FastCopy investigate files/dirs to be copied, before starting.
Start at once Start at once without waiting for other FastCopy instances executing to finish. (This button does not show when another FastCopy is not copying.) (parallel running)
(*1) It is slowed down if the FastCopy window is not in the foreground and mouse movement is detected, by waiting between I/O, changing process priority, changing I/O priority, and changing maximum I/O size.

ACL Copy Access Control List (ACL). (Only applicable to NTFS)
(It is recommended to use with Administrative privilege)
In addition, Extended Attribute(EA) will also be copied.
Alt Stream Copy Alternate Stream. (Only applicable to NTFS)
Wipe & Delete (prevent deleted files reviving) Rename filename and Overwrite random data before deleting. Alternate stream is not overwritten. If NSA method is checked in setting dialog, Overwriting Random data process runs twice, and overwriting NULL data process runs once.

Filter Options

It can Include/Exclude the copy target files/directories that match/unmatch by filters.
Select the "listing" button to confirm the copy target files/directories list.

Include Only files or directories that match the specified string (UNIX wildcard format is allowed) will be copied.
Include filter strings can be specified (UNIX wildcard format). (Note)
If you want to specify two or more strings, please use semicolon as separator.
If you want to specify directories, please add '\' to the end of directory name.

Ex1) *.txt → a.txt, 123.txt or etc files will match
Ex2) [^ax]bc → bbc or etc files will match, but not abc or xbc
Ex3) dir[0-9][234] → dir12 or etc will match, but not dir1 or dir10
Exclude Don't copy files/directories that match the specified strings.
The following filters are enabled when "Option" → "Show Extended filter" is checked.
FromDate Don't copy files with timestamps older than a specified date(format).
This can be specified by not only absolute format ("20090322" or "2016/09/26 12:30:56") but also by relative format (10 days before ... "-10D").
ToDate Don't copy files with timestamps newer than this specified date.
MinSize Don't copy the files with sizes that are smaller than the specified size.
High number can be abbreviated using K/M/G/T character (Kilo/Mega/Giga/Tera).
MaxSize Don't copy the files with sizes bigger than the specified size.

Note 1) In delete mode, it does not delete directories when "only files and not directories" are specified in the Include field.
Note 2) When one or more files are specified in the Include field, files that do not match are not copied.
Note 3) When one or more directories are specified in the Include field, directories that do not match are not copied.

Relative path filter If the first character of Include/Exclude string items is not '\', it will be Relative path filter. This mode is tail matching policy.
Example of the directory Include
SourceC:\dir\
Includesubdir[1-9]\xxx\
Match examples C:\dir\subdir2\xxx\
C:\dir\aaa\subdir3\xxx\
EffectMatched directories and all under them will be copied.
Example of the file Include
SourceC:\dir\
Includesubdir[1-9]\file.*
Match examples C:\dir\aaa\subdir2\file.txt
C:\dir\bbb\ccc\subdir3\file.doc
EffectMatched files will be copied.
Forward match filter If the start character of Include/Exclude string items is '\', it will be Forward match filter. This mode is head → tail matching policy.

For example, if Source is C:\aa\, and you want to exclude C:\aa\bb\cc\, Forward match filter is \bb\cc\.
Remove Source (C:\aa\) from the path you want to exclude (C:\aa\bb\cc\) and add \ at the beginning to indicate a forward match.
Example of the directory Include
SourceC:\dir\
Include\subdir[1-9]\xxx\
Match examples C:\dir\subdir2\xxx\
C:\dir\subdir3\xxx\
EffectMatched directories and all under them will be copied.
Note (unmatch example)C:\dir\aaa\subdir2\xxx\ ... different hierarchy.
Example of the file Include
SourceC:\dir\
Include\subdir[1-9]\file.*
Match examples C:\dir\subdir2\file.txt
C:\dir\subdir3\file.doc
EffectMatched files will be copied.
Note (unmatch example)C:\dir\aaa\subdir2\file.txt ... different hierarchy.
Absolute path filter If the first character of Inlcude/Exclude starts with a drive letter (for example, C:\) or a UNC path (for example,\ \server \volume\), it is an absolute path specification.
The absolute path must include the source path.
Internally, it is converted to a forward match specification. (The absolute path minus the following "Start point of filter check" is registered as a prefix match)
(Remarks)
Start point of filter check
If Source is either C:\src\, C:\src\file.txt or C:\src\dir*, the start point(beginning) of the filter check will be C:\src\

Include/Exclude filter(wildcard) format.
*Zero or more arbitrary characters
?One arbitrary character
[abc]One character in "abc"
[!abc]One character except "abc".
'^' can also be used instead of '!'.
[a-z]One character in "abc...xyz"
\'\' as Start character means Forward match filter. The middle of '\' is separator of path items. In addition, the end of '\' means "This is a filter item for directory". However, '\' in character class([]), it means escape character.


FromDate/ToDate filter format.
AbsoluteSpecify "YYYYMMDD[hhmmss]"(year/month/day/hours/minutes/seconds).
ex) "20090322" or "2016/09/26 12:30:56"
RelativeSpecify "+|- number W|D|h|m|s".
W|D|h|m|s means Weeks/Days/hours/minutes/seconds.
ex) "-12h" (This is case sensitive.)

Junction and SymLink

Junction(include MountPoint) and Symlink is supported in ver1.70 or later.
ModeDetails
Diff/Copy Copy Junction/Symlink itself.
If you want to change the copy Junction/Symlnk's target(not Junction/Symlnk itself), it can be changed in the options settings
Move Always move Junction/Symlink itself.
Delete Always delete Junction/Symlink itself.
HardLink can be reproduced as much as possible, when Copy/Move Options or /linkdest option is specified.
(The display of "TotalFiles:" changes from "number_of_files (number_of_dirs)" to "number_of_files / number_of_created_hardlinks (number_of_dirs)").

Two very important notes:
1. It needs 2-4MB per 10 thousand hardlink files. (It depends on path length)
2. The speed will drop, because all files are opended to obtain the number of links.

If /linkdest option is enabled, /recreate option is enabled tacitly.

File

Open LogOpen FastCopy.log
Open LastFileLog If it is checked Write to FileLog, open the last finished filelog.
FileLogHistory If it is checked Write to FileLog, open filelog history.
Open FastCopy DirOpen the user directory of FastCopy
Save as Init PosSave position as initial FastCopy window.
Save as Init SizeSave size as initial FastCopy window
Always Top MostAlways display at the top most
CloseClose FastCopy

Help

HelpShow this help
Check Update Access https://fastcopy.jp/fastcopy-update2.dat and check to require to update.
Support ForumQuestions/Opinions about FastCopy
Latest VersionOpen FastCopy WebPage
About FastCopyShow Version and Copyright

Elevate

Elevate administrative privilege. If it is, the title bar will show "(Admin)".

Other menu items

6. Settings

Settings → Main Settings

Main settings. (change Default values, I/O parameters, and Copy Options, etc.)

Defaults

Specify default parameters for Main Window
Default parameters for Main WindowThe detail is this.
LanguageChange Language. (need to restart)

Customize

Select the operation item that will be displayed when the operation mode button is pressed.
(Regardless of this setting, if the operation mode button is pressed with the Ctrl key, all items will be displayed.)

I/O settings

fundamental parameter of I/O
Main Buffer (MB) Specify main buffer size for reading/writing.
I/O unit (MB)Parallel Read/Write request unit size for OS.
"I/O unit" * "OverLap I/O Num" is the (effective) Max I/O size for OS.
1MB I/O unit size is the best performance for many environments, especially if network drive is used.
(Buffer size must be at least twice the Max I/O Size)
OverLap I/O NumI/O performance(especially network drive) is improved by using overlapped ReadFile/WriteFile I/O.
(If it is specified "1", it will not be used overlapped I/O)
Always use Low IOGives I/O priority to other apps. (Use Low-Priority I/O in Vista and later)
For SD cards, don't use OverLap I/ODue to problems with some old SD card adoptors

OS Cache settings
Use OS buffer for readingIt does not use DirectI/O. OS is likely to be slow/heavy, it can not be recommended.
Use OS buffer for writingIt does not use DirectI/O, if the filesize is under the specified size(KB)
The disadvantages are the same as for reading. It will be faster for only very small files that use Direct I/O because of less head seeking time.

Directory Fetch
Enable Large fetch mode
(Win7 or later only)
Enable FIND_FIRST_EX_LARGE_FETCH flag and improve directory fetch performance.

Verify Options

Verify options
Verify modeSelect the verify method
Conventional verify After writing, only dest is reread and verified.
Perfect verify
(Pro version only)
After writing, both src and dest are reread and verified.
Temporary errors on src reading can also be detected.

Hash mode (for verify) Select Hash mode (xxHash3/xxHash/MD5/SHA-1/SHA-256/SHA3-256/SHA3-512) for verifying.
(xxHash3 is recommended.)
At verify error, Choose from the following four options.
Rename to (filename).fc_verify_err
Delete the file
Change the timestamp to 1980-01-01
Do nothing
Set timestamp to 1980-01-02
until verification completes.
The timestamp will be 1980-01-02 from copy/move until verification is completed.
When copying with verification is interrupted, files that have not been verified can be identified.
Files dated 1980-01-02 will be
resumed from verification
(Size/Date or Latest only. Perfect verify only)
Files dated 1980-01-02 that occur when Copy/Move/Sync with Perfect Verify is interrupted, will resume from verification (skip copying). (Size/Date or Latest mode only)
(In "Move/Sync Settings", it can be changed "Move (Overwrite)" to "Move (Size/Date)")
Verify every 30 secs Verification is performed every 30 seconds (to the extent possible).
(The default behavior is to verify after all copies are completed (except when the verification queue is full) in order to minimize the effects of caches on the device.)

Add VerifyInfoThe AltStream(:fc_verify) is added at completion of the verified copy.
(To detect silent data destruction)

 {done=complete date and time, ftime=file date and time, size=size, xxHash=Hash value}
In the case of a verification error, it will look like this
 {error=complete date and time, ... , xxHash(src=hash value, dst=hash value)}

This information can be displayed and verified by "FC Verify Info Disp" and "FC Verify Info Check".
If not verifying, record the src hash value in the file log(same as left)

Drive Settings

Drives that are always run in parallel (e.g. SSD-RAID)
DetailsSpecifies drives that are faster when run in parallel, such as SSD-RAID. It always operates as diff HDD mode. It also does not queue up even if multiple FastCopy are running.
How to specifyIf C: and E: are SSD-RAID, specify "CE".
For drives with UNC pathnames, please assign a drive letter.

Settings of physical drive group (*1)
FastCopy detects physical drive group automatically. However, in some situation(RAID,TrueCrypt or etc.), it can not detect automatically and it requires manual settings.
Manual settings of physical drive group
DetailsSpecify same physical drive group.
FormatIf C: and D: are the same physical HDD, and E: and F: are the same, please specify "CD,EF"
For drives with UNC pathnames, please assign a drive letter or specify the decision policy below.

Physical drive group decision policy of network drive
DetailsNetwork drives are in the same physical HDD(or SSD) or not
This decision policy always uses UNC name even if it is specified as the drive letter that is a network drive (*2)
Same UNC_share are same physical drive group.If UNC name is \\Server1\vol1\, \\Server1\vol1\ is the same physical HDD group, and \\Server1\vol2\ is not the same.
Same UNC_server are same physical drive groupIf UNC name is \\Server1\vol1\, \\Server1\ is the same physical HDD group, and \\Server2\... is not the same.
All UNC_server are same physical drive groupAll Network drives are the same HDD group
(*1) If Parallel Read/Write are issued in the same physical HDD, it will be slow because many HDD head seeks will occur. So FastCopy has two running modes as same or diff HDD mode.
(*2) If your network bandwidth is not enough, it is recommended to choose "All UNC_server are same"

Parallel running

Specifying the number of parallel running FastCopy.
Max number of running FastCopy procs If a lot of of instances of FastCopy are running in parallel, it requires much memory and CPU resource.
If another FastCopy already running uses the same physical HDD, FastCopy will wait for the previous FastCopy to finish.
Manual settings physical drive group is available.
Don't wait for another FastCopy running to finish(Ignore the above settings) It always starts quickly.

CPU settings

CPU settings
CPU affinity Determines whether Read and Write threads are pinned to a logical CPU core.
In some environments, tying Read/Write threads to logical CPU cores improves I/O performance.
(When multiple FastCopy threads are running simultaneously, they are automatically distributed so that they are allocated to each other as little as possible)

Copy Options

Copy options
Don't create empty directory, if "filter" is checked After using the filter, if there isn't a file for copying, FastCopy won't make directories.
Use a modified name, if destdir is the same as src's parent If DestDir is the same as src's parent directory, create a new name like "source(1)" and continue
Copy Junction/Symlink as Junction/Symlink(not target) Copy Junction/Symlink as Junction/Symlink.
If this check is off, it will be copy Junction/Symlink's target directory/file (*1)
(This option is ignored in "move" or "delete" mode)
Note: It requires administrator privilege to create Symlink
Shared open Dest on Copy/Move (a little dangerous) Opens the write destination non-exclusive. This increases the possibility that you can write to a file that is open by another process, but the file contents can be corrupted if another process writes to it.
Reproduce Hardlink

Reproduce hardlink as much as possible. (details)

Tolerance at the timestamp comparisonSpecify tolerance timestamp difference as same date in Diff(Date/Size) or Diff(Newer).
Normally, FastCopy corrects timestamp difference on the different filesystem(NTFS timestamp precision is 100ns, FAT is 2sec or etc.), automatically.
However, some NAS timestamp precision is very strange, so manual settings(in msec) are available.
DST mode
Always disallow DST grace time
Allow DST grace time(60min) with FAT
Always allow DT grace time(60min)
PreAllocate for speed (Admin only)
By pre-allocating space in privileged mode, a 20-30% speed increase can be achieved on high-speed SSD-RAIDs and similar systems.
Options include always performing this action, limiting it to local drives only, and more.
(*1)For example, "C:\Users\(user)\AppData\Local\Application Data" points to "C:\Users\(user)\AppData\Local". If you try to copy this with "Copy Junction/Symlink as Junction/Symlink" disabled, it will infinitely recurse. (C:\Users\(user)\AppData\Local\Application Data\Application Data\Application Data\...). Therefore, be careful when you disable "Copy Junction/Symlink as Junction/Symlink".

Move/Sync Options

Move/Sync options
Move options
Change "Move(Overwrite)" to "Move(Date/Size)" If there is a file with the same date and size as the move destination, it is deleted from the move source without copying.
Move one by one Normally it won't delete original files until the move files list is full.
This option changes the behavior to "a file has copied, and remove copied source file"
Move one by one (verify) It is the same as "Move one by one" except "remove copied source files" → "remove verified source files"

Sync options
Delete before copying The destination files that will be overwritten, or that don't exist in the source, are deleted before copying process begins.
(directory tree scan will be performed twice, once for deletion and once for copying, so if there are a lot of files, the copying process will be a little slower.

Delete options

Delete options.
Try to delete directory, even if "Filter" is checked. By default, it does not delete directory, if "Filter" is checked.
If it is checked, it always tries to delete directories. (attention)
Use NSA method for Wipe & Delete option If "Wipe & Delete" option is used, it is overwritten 3 times (random-data 2 times and zero-data 1 time), before renaming and deleting

Log Settings

Log Settings
Number of history items for Source/DestDirneed to restart FastCopy
Write to Error logLogging error message to FastCopy.log
Write ACL errors to Error LogSometimes, many errors will occur in non NTFS (Samba, or etc.)
Write AltStream errors to Error LogSometimes, many errors will occur in non NTFS (Samba, or etc.)
Write to File LogCreating Log\(date).log and logging to all copied/deleted/error files.
(If there are a large number of file logs, it is possible to setup automatic deletion of old file logs.)

The meaning of the symbols in the log.
+Create file / directory
-Delete file / directory
->Create Symblic-link/Junction
=>Create Hardlink
!!Verify error (mismatch of hash value)

Shell Extension

Enable/Disable Shell Extension
If it is started by normally user, it will be a personal shell extension. If it is started by administrator privileges, it will be all users shell extension.

At minimizing

Use taskbar instead of task notification area at minimizing

Mode customize

Customize the operating mode list.
(Regardless of this setting, if the operation mode button is pressed with the Ctrl key, all items will be displayed.)

Additionally, it can be selectd the default operating mode for each of 1.startup, 2.Shell right click "Copy", 3.Shell right drag "Copy".

Misc

Misc settings.
Update check at startupCheck latest version and automatic update
Confirm before executingConfirming
Use MB/s instead of MiB/s notationUse MB/s instead of MiB/s notation (MB/s will be 4.8% greater than MiB/s)
Shows current speed in TransRateShows current speed (Src/Dest/Total speed, every second) in TransRate field (including verification speed).
(The display position may change in the future. To make the width wider at startup, please use File → Save as Init Size)
Info Update SpanInformation Update Span can be specified.
Balloon Notification at the finishEnable balloon notification at the finish, if it is minimized.
Prevent auto sleep during copyingPrevent auto sleep(by OS) during copying.
(Note: If an error dialog is shown, FastCopy doesn't prevent auto sleep)
English UI(It has no effect in English OS) English UI mode will be set. In order for English UI to take effect, you need to restart FastCopy

Post-Process

Select Post-Process.
Allows user to change default settings (sound, command, and standby/hibernate/shutdown) after copy process/execution is complete. Also, user can add new Post-Process settings. Grace ... The count-down time can be specified.
Don't execute on error ... execute only if succeeded
Post-Process Window
ActionNameBy default, Normal/Standby/Hibernate/Shutdown are ready.
New actions can be created.
Play SoundPlay sound at finish
Only play, if error occurred option is available.
Close Close FastCopy when finished.
Standby/ShutdownBefore executing to standby/hibernate/shutdown mode, FastCopy shows count down(60sec) dialog that has a "cancel" button.
If another FastCopy is running, FastCopy will wait for it to finish and start to count down.
Execute commandSpecify commands at finish.
Execute at Always/no error/error" can be specified.
If "Wait for Finish" is checked, FastCopy won't execute standby/hibernate/shutdown until finishing commands.
WebHook Notification
(Notify to Slack or etc.)
Run WebHook notification ... Run WebHook and send the completion notification (log) to Slack or etc.
Only run, if error occurred option is available.
Parameters for WebHook
(Common)
Set the parameters for the WebHook. (common to all Post-Process)
WebHook URL ... Describe the WebHook URL.
Post Data ... Describe the POST data. If you write $(body), it will be replaced with the actual log.
Test ... Test the execution of WebHook notifications.

Option → Font Settings → Change/Reset Main Font

Change/Reset Main information font in Main Window.
It is recommended to use fixed pitch font.

Option → Auto/Same/Diff HDD mode

Specify Auto/Same/Diff HDD mode(default: Auto).
CTL + K shortcut toggles between disk modes (auto → same → diff →...)

Settings → Show Extended Filter

Show Extended Filter(timestamp/size filter)

Option → Swap Source ⇔ DestDir

Swap Source for DestDir (for mutual update or etc.).
Source/DestDir will be modified based on different behavior whether the end of DestDir character is '\' or not. (For example, If Source is "C:\AAA\BBB" and DestDir is "D:\CCC\", then Source becomes "D:\CCC\BBB" and DestDir becomes "C:\AAA\")
If Source has two or more files/directories, this menu item is disabled.
CTL+ALT+S is shortcut of this function.

Job Manage → Add/Del Job

Register/Restore parameters in main window as named job.
Add/Modify Add/Modify parameters in main window(Source/DestDir, Operation mode, Buffer size, Nonstop/Verify/Estimate/ACL/AltStream/Wipe & Delete/Filter checkboxes, Filter strings, HDD mode) as named job.
Delete Delete registered job.
Open "Windows Task Scheduler" Open "Windows Task Scheduler".
(Only shortcut. FastCopy doesn't have any function for windows task scheduler)

Exclusion Microsoft Defender

(To display this setting, press the "Elevate" at the top right of the main window to enter admin mode. After setting, it is effective even in normal mode)

Add FastCopy to Microsoft Defender exclusions.
Copying zip, exe, dll, etc. is significantly faster and CPU usage is reduced.
(If you are copying a file that has security issues, please do not add it.)
Exclusion List Displays the contents of the current Microsoft Defender exclusion settings.
Add/Remove to exclusion list Add/remove FastCopy to Microsoft Defender exclusion list
(It may not be available in environments where Microsoft Defender is managed by an organization)

License management

License management (online)
License key When you purchase a license from https://fastcopy.jp/pro/, the license key will be included in the confirmation email you receive after completing the purchase. Please copy the license key here.
Authentication After entering the license key, click the "Authentication" button to complete the authentication (activation) process.
From this point on, you will be able to use the Pro version features.
Migration/Release Execute this if you want to migrate from an already authenticated machine to another PC or release the license.
Please note that after this, you will no longer be able to use the Pro version features on this machine.
Go to offline mode Go to the dialog for non-networked environments.

License management (offline)
Activation key Using a machine connected to the network, access https://fastcopy.jp/pro/activate and enter the license key obtained from your license purchase, along with the machine ID displayed on this screen.
Then, input the activation key you receive.
Authentication After entering the activation key, click the "Authentication" button to complete the authentication (activation) process.
From this point on, you will be able to use the Pro version features.
Migration/Release Execute this if you want to migrate from an already authenticated machine to another PC or release the license.
Copy the "deactivation string" you receive after executing, and access https://fastcopy.jp/pro/deactivate from a machine connected to the network to complete the deactivation process.
Please note that after this, you will no longer be able to use the Pro version features on this machine.
(In case you accidentally deactivate, please perform the activation process again.)
Go to online mode Go to the dialog for networked environments.

New format of license authentication (v5.7.0 or later)
To new format (If this button is hidden, no action is required)
Starting from v5.7.0, we have moved to a new license authentication format where the machine ID does not change even if the OS is reinstalled.
Although you can continue to use the previous format of authentication, we recommend that you migrate to the new format in case you need to reinstall the OS.
(If offline, after the license is released and you authenticate again, it will be migrated to the new format)

You can check the usage status of your license key at https://fastcopy.jp/pro/license_summary.

7. Command Line

A basic format is as follows.

Normal ver: fastcopy.exe [/options] [file1 file2 ...] [/to=dest_dir]
CUI ver: fcp.exe [/options] file1 [file2 ...] /to=dest_dir
(Please use fcp.exe in situations where you used to start "" /wait fastcopy.exe , Note that fcp settings are the same as fastcopy settings (refer to fastcopy2.ini))

The separate character is space(' ') in command line mode. (not semicolon).
If filename contains space character, please enclose with double quotation marks.
Ex) fastopy.exe C:\Windows "C:\Program Files" /to="D:\Backup Folder\"
If /to= option is used, it must be described as the last parameter.
If you want to wait to finish, please use fcp.exe or start "" /wait ... command.

Supported options are as follows. (Please do not put space characters before and behind "=")

/cmd=
  (noexist_only
  | diff
  | update
  | force_copy
  | exist_diff
  | exist_update
  | sync
  | sync_update
  | move
  | move_noexist
  | delete
  | verify
  | verify_read
  | verify_check)
Specify operation mode. (By default, diff mode is used.
 If delete mode is specified, then "/to=dest_dir" is not used.)
cmdlinein GUI
noexist_onlyDiff (No Overwrite)
diffDiff (Size/date)
updateDiff (update)
force_copyCopy (Overwrite)
exist_diffExist (Size/date)
exist_updateExist (Newer)
syncSync (Size/date)
sync_updateSync (Newer)
moveMove (Overwrite)
move_noexistMove (No Overwrite)
deleteDelete
verifyVerify
verify_readFC Verify Info Disp
verify_checkFC Verify Info Check
/auto_closeClose automatically after execution is finished with no errors.
/force_closeClose automatically and forcibly after execution is finished.
/open_windowIt will not be stored in the task notification area.
/estimateEstimate complete time.(to disable, /estimate=FALSE)
/balloon(=FALSE)Show balloon notification at finish. (to disable, /balloon=FALSE)
/no_uiDialog box will not be shown. This is for background tasks. If /no_ui is used, /no_confirm_del /no_confirm_stop /force_close are set automatically. If FastCopy runs in session 0 (e.g. running with task scheduler), /no_ui is set automatically. However even if /no_ui is set, standby/hibernate/shutdown countdown dialog will not be prevented.
/no_confirm_delDon't confirm before deleting.
/no_confirm_stopDon't show error dialog, even if critical errors occur.
/no_execDon't start to execute.
/error_stopShow error dialog (and operation is interrupted), if an error occurs. (to disable, /error_stop=FALSE)
/bufsize=N(MB)Specify the size(MB) of the main buffer for Read/Write operation.
/ini=ini_fnameSpecify ini file for settings. It can't be contains directory names. (default: fastcopy2.ini)
/logWrite the operation/errors information to the logfile(FastCopy.log). (to disable, /log=FALSE)
/logfile=filenameSpecify the filename of logfile.
/filelogWrite to the filelog(detail of copy/delete files). It is stored TIMESTAMP.log in FastCopy/Log directory. If using verify mode, write digest data as additional data. (To specify filelogname, /filelog=filename)
/skip_empty_dirSkip to create empty directories when /include or /exclude option is used. (to disable, /skip_empty_dir=FALSE)
/job=job_nameSpecify the job that is already registered.
/force_start(=N)Start at once without waiting for the finish of other FastCopy executing. (/force_start=2-N ... specify number of max parallel process)
/disk_mode=(auto|same|diff)Specify Auto/Same/Diff HDD mode. (default: Auto)
/speed=(full|autoslow|
 9-1(90%-10%)|suspend)
Specify speed control level.
/low_ioPrioritize IO for other apps(to disable, /low_io=FALSE)
/srcfile="files.txt"Specify source files by textfile with UTF-8. User is able to describe 1 filename per line. (Attention:We don't recommend specifying a lot of files)
/srcfile_w="files.txt"same as "/srcfile=", except describing with UTF-16.
/include="..."Specify Include filter. (details)
/exclude="..."Specify Exclude filter. (details)
/from_dateSpecify oldest timestamp filter. (details)
/to_dateSpecify newest timestamp filter. (details)
/min_size="..."Specify minimum size filter. (details)
/max_size="..."Specify maximum size filter. (details)
/time_allow=N(ms)Specify tolerance timestamp difference(ms) as same date in Diff(Date/Size) or Diff(Newer).
/wipe_delRename filename and wipe(overwrite Random data) before deleting.
/aclCopy ACL/EA (only NTFS)(to disable, /acl=FALSE)
/streamCopy Alternate Stream (only NTFS) (to disable, /stream=FALSE)
/reparseCopy junction/mountpoint/symlink itself(to disable, /reparse=FALSE) (details)
/verifyVerify written files data by xxHash3(or MD5, SHA-1, SHA-256, SHA3-256, SHA3-512, xxHash) (to disable, /verify=FALSE) (details)
/verifyinfoEnable VeriyInfo to the AltStream (:fc_verify) option (to disable, /veriyinfo=FALSE)
/dlsvt=(none|auto|always)Specify Daylight Saving Time grace (details)
/linkdestReproduce hardlink as much as possible. (details)
/recreateChange updating behavior "overwrite the target" to "delete and recreate the target". (If /linkdest option is enabled, this option is enabled by default.) If you want always to enable, write [main] recreate=1 in FastCopy2.ini.
/postproc=action_nameSpecify post-process action name (to disable, /postproc=FALSE)
Ex) Copy C:\Test Folder to D:\Backup Folder by "diff(Size/Date)" mode is...
C:\> fastcopy.exe /cmd=diff C:\test /to="D:\Backup Folder\"
Exit status code) Command is succeeded: 0, or failed: -1

8. FcHash.exe

A command line tool for fast hash computation.

FcHash.exe [options] file1(or dir1) [,file2...]

OptionsContents
--(xxh|xxh3|md5|sha1|sha256|sha512|sha3_256|sha3_512)Hash kinds (Default: xxh3)
--recur(sive)Process directories recursively
--non_stopIgnore errors
--use_cacheUsing the OS cache

Example)
C:\> fchash --sha256 C:\
C:\ :
  sha256 <180a0d4144b44fc54acc9345a1453a32064ce8329ed387f4bf5faad1d7bc883a>: bootmgr
  sha256 <6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d>: BOOTNXT

9. Warning

In some modes, destination files that exist with the same filename in source directories, are overwritten forcibly without confirming.
In sync mode, destination files that do not exist with the same filename in source directories, are deleted forcibly without confirming.
In delete mode, target files and directories are deleted forcibly without confirming.

If FastCopy has bugs, there is a possibility of serious problems.
Please use at your own risk. (See 2. License)

10. Support Forum/Latest Version

Support Forum: https://github.com/FastCopyLab/FastCopy/issues
Latest Version: https://fastcopy.jp

11. FAQ

Q. The setting file(FastCopy2.ini) and log files are created in the following directory.
If FastCopy is installed to Program Files, these are created in C:\Users\(USER)\AppData\roaming\FastCopy\ (Menu File(F) → UserDir(U))
For other cases, these are created in the same directory as FastCopy.exe

Q. I want to copy without additional subdirectories when DestDir is the drive root (e.g. D:\)
The trailing \ of the drive root (e.g. D:\) cannot be deleted (an error will occur). In this case, append * to the Source side. For example, in the case of C:\src, it should be C:\src\*.

Q. Slow when started from Task Scheduler
This is because Windows forces processes launched from the Task Scheduler to have Low Priority I/O.
To avoid this, select a task in the Task Scheduler, export it, delete it, change the <priority>7</priority> setting in it to 5 or lower, and import it. (Reference: search google for taskscheduler priority xml)

12. History

VersionDetail
v5.8.0 Added Verify every 30 secs option.
Added "automatically delete File Logs" option to Log Settings.
Fixed an exception that occurred when there were a large number of directories (over 7 million) directly under one directory.
v5.7.15 Fixed an issue where the timestamp was not reflected when copying a file containing FC VerifyInfo in the AltStream with the AltStream enabled and FC VerifyInfo added options selected.
Misc refine.
v5.7.14 Add Shows current speed (Src/Dest/Total speed, every second) in TransRate option.
Fixed an issue where source information was not reflected when the Ctrl key was held down (even if FastCopy was not in the foreground) when launching /job= option. (v5.4.0 to v5.7.12. Updating is strongly recommended)
v5.7.12 Various stability improvements.
v5.7.11 Added "Close FastCopy" to the Post-Process.
When "Set to 1980-01-02 until verification completes" is enabled, retry will be performed even if timestamp restoration fails (effective in some environments).
v5.7.10 Fixed an exception occur in rare cases due to nearly 100% read error environment (in the same HDD mode).
v5.7.9 Fixed an exception occur in rare cases due to frequent I/O errors (in the same HDD mode) (v5.7.7 only).
Files dated 1980-01-02 will be resumed from verification is enabled only with Perfect Verify.
Fixed an issue that the src hash value would always be 0 when AltStream/ACL checked with Conventional Verify (v5.7.7~8 only).
v5.7.7 Further speed improvements.
Fixed an issue where the Symlink/Junction date was not restored correctly when setting "Set timestamp to 1980-01-02 until verification completes".
Improved behavior when ACL is enabled.
v5.7.5 Various stability improvements.
v5.7.3 By adding /ini= option, it is now possible to specify the ini file name. (default fastcopy2.ini)
v5.7.2 Fixed an issue where privilege elevation was not working with the remove function via shell extension. (v5.7.1 only)
v5.7.1 it can be selectd the default operating mode for each of 1.startup, 2.Shell right click "Copy", 3.Shell right drag "Copy" in the Mode customize.
v5.7.0 Add Exclusion Microsoft Defender. (Copying zip, exe, dll, etc. is significantly faster)
Additional support for rare environments for New format of license authentication.
Corrected an error that occurred with symlink regarding "Set the timestamp to 1980-01-02 until verification is complete".
v5.6.0 Add Files dated 1980-01-02 will be resumed from verification (Pro only) option.
Additional support for rare environments for New format of license authentication.
v5.5.0 Add "Set the timestamp to 1980-01-02 until verification completes" option.
Add New format of license authentication.
Various stability improvements.
v5.4.3 Added "Launch New FastCopy" item to the File menu.
Fixed a rare exception in move mode (when ACL/AltStream is enabled).
Fixed a rare exception with shell extension settings for Win11.
v5.4.2 Added an option in the shell extension for Win11 to not bring up the top-level menu when right-clicking.
Added option to not use OverLap I/O with SD car.d (Due to problems with some old SD card adaptors)
Fixed a problem that I/O error during move did not continue operation.
Changed build environment from VS2019 to VS2022.
v5.4.1 The list of operation modes can now be customized.
Add "Exist (Size/date)" mode (Pro version only).
Add "Exist (Newer)" mode (Pro version only).
Add SHA3-256/SHA3-512 for verify. (OpenSSL updated to 3.1.2)
Improved speed when ACL/substream is enabled.
Improved job selection behavior.
Hold down the Shift key and press Source/DestDir button to open File Explorer.
v5.3.1 Fix memory leak problem during verification (MD5/SHA1/SHA256/SHA512).
v5.3.0 Add "Move (no overwrite)" mode (Pro version only).
v5.2.6 Updated xxHash to the latest (v0.8.2).
Simplified Chinese improved.
Fixed the problem of not being able to install in "Program Files" (v5.2.5 only).
v5.2.4 Fixed an exception that occurred in some environments.
v5.2.3 Fixed an exception that occurred when there were a large number of directories directly under one directory.
Corrected an I/O error during verification that could cause an exception.
v5.2.0 Add Simplified Chinese support.
v5.1.1 Make the status of the tray icon change even while copying is in progress.
Change the default for information update from 1 second to 0.5 seconds (can be changed from Option→Others).
v5.1.0 Add multi-line editor for Include/Exclude filters.
Improved behavior of shell extension for Win11.
v5.0.2
- v5.0.5
Corrected time prediction during verification.
Fixed a problem in the settings where the preallocation mode was not saved.
Fixed display of extra entries in the old context menu in some Win11 environments. (may require re-logging in)
Add site license.
v5.0.0 Change license (a Pro license key is required for use in workplaces or similar environments).
Addition of Perfect Verify (Pro version only).
Support for Windows 11 shell extension.
Improved asynchronous I/O algorithm for further speed enhancements.
20% to 30% speed increase in high-speed SSD environments due to pre-allocation of space during privileged mode.
Addition of "Verify," "FC Verify Info Disp," and "FC Verify Info Check (Pro version only)" to main commands.
Support for CPU affinity.
Addition of a setting to Drives that are always run in parallel (e.g. SSD-RAID).
Added timestamp change (1980-01-01) to Action at Verify Error.
Fixed a memory leak that occurred during deletion.

VersionDetail
v4.0.0 - 4.22 Added FcHash.exe (xxHash3/SHA-based fast hash calculation command line)
Added to support AltStream for directories.
Support WebHook Notification. (Send the completion notification to Slack or etc)
OpenSSL is incorporated, and CPU usage when SHA-256 is used is reduced to 1/3 (& faster).
Added option to always use LowI/O.
Added SHA-512 mode to verify.
Improved HDD I/O speed.
Improved xxHash speed.
v3.00
- v3.92
Added SHA-256, xxHash3(128bit) to Verify Type and changed default to xxh3 (automatically uses SSE2/AVX2/AVX512).
Added verify information option when copying with verify. (Add (hash value, copy date, etc.) to the secondary stream (:fc_verify))
Added File Log History to the File menu.
Added absolute path specification to Include/Exclude filter.
Multi-threaded deletion process. (more than double via network)
Multi-threading of Source open. (Especially effective on network drives)
Faster directory search (for high-latency environments or large entries, using FIND_FIRST_EX_LARGE_FETCH).
When ACLs are enabled, copying between local NTFS (or ReFS) with administrative privileges should copy SACLs as well as DACLs.
The completion status is also indicated by the color at the top of the icon (green: completion, red: error).
asynchronous I/O support, filter relative paths, optimized concurrency behavior.
Enabled user-level (non-administrator) shell extension.
Added OS cache settings for NetDrv.
Added /time_allow=N(ms) option.
Added test file creation mode setting (write speed test & dummy file creation using asynchronous I/O [without reading]).
v2.00 JobMng, Interpret Symlink, Simple compare, ACL/AltStrem, Speed Control
v1.001.00 release (2005/03/10)
v0.50First alpha release (2004/09/27)