Top Page
FastCopy Japanese Page
If you want to
  cheer FastCopy up,


The Fastest Copy/Delete Software on Windows.

FastCopy v2.11 download
Executable (32bit)from Vector
Executable (64bit)from Vector
Source codefrom Local

Lastest beta version (v3.00b2) page (2015/08/05)

2004/09/28 Create
2015/08/05 Update
Version 1.60/61 has a problem. (see history)

FastCopy New BBS (Old BBS)       FastCopy New BBS(Japanese)
Warning : Original document is written in Japanese.

1. About

2. License

Copyright 2004-2012 SHIROUZU Hiroaki All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Environment

Windows 98/Me/NT/2000/XP/2003/Vista/2008/Win7

4. Install


Please run setup.exe, and install it in a new directory/folder.
If you want to install in USB memory, please copy the two files "fastcopy.exe" and "fastcopy.chm" to USB memory. (In this case, shell extension can't be used.)


If you want to uninstall, please run setup.exe located in the installed directory.
(Uninstall removes shortcut and unregister shell extension)

5. Usage

If main window is minimized, it is stored in task tray.
(In addition, the icon rotates while the copy is operating. )

Source / DestDir

Operation mode

Diff (No Overwrite) Copy if the same filename doesn't exist in destination.
Diff (Size/date) Copy if size or date is different, or if it doesn't exist (in default)
Diff (Newer) Copy if source file timestamp is newer or doesn't exist.
Copy (Overwrite all) Always copy/overwrite all.
Sync (Size/date) Copy if size or date is different, or doesn't exist. In addition, delete all destination files/directories that don't exist in source.
Move (Overwrite all) Always copy/overwrite all and delete all copied source files. (It is able to change "Move (Overwrite all)" -> "Move (Size/date)" in settings dialog.)
Delete Delete all files/dirs by force.

Buttons & Options

Execute The copy operation is executed. While copy is executing, this button changes "Cancel..." button.
(The confirmation dialog is displayed, if this button is pushed with pushing CTRL button)
Listing The files and directories list that will be copied and deleted are displayed. '+' means copying, and '-' means deleting.(Compare file pairs that will be skipped(except skipping by filter), if this button is pushed with pushing CTRL button(button label "listing" -> "listing+v"))
Buffer size Specify the size(MB) of the main buffer for Read/Write oprations.
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 it detects mouse moving/active window changing (and fastcopy window isn't foreground), it is slowed down).
If "Full Speed" isn't 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 MD5(or SHA-1. If you want to use SHA-1, write [main] Using_MD5=0 in fastcopy.ini)
... Action detail: Read(Src) -> MD5(Src) -> Write(Dst) -> Read(Dst) -> MD5(Dst) -> Compare MD5(Src/Dst) (Of course, all actions are processed in parallel as much as possible)
Estimate Display the estimated complete time. This means will cause FastCopy to investigates source tree before starting.
Top FastCopy window is always top-level.
Start at once Start at once without waiting for the finish of other FastCopy instance(s) executing. (This button doesn't show when other FastCopy isn't copying.)
"?" Show help
(*1) It is slowed if fastcopy window isn't foreground and it is detected mouse moving, by waiting beetween I/O, changing process priority, changing I/O priority(Vista), and changing maximum I/O size.

ACL Copy Access Control List (ACL). (Only applicable to NTFS)
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 isn't overwritten. If NSA method is checked in setting dialog, Overwriting Random data process runs two times, and overwriting NULL data process runs once.

Filter Enable Include/Exclude/Date/Size filter. Note: It is always disabled in move mode.
Include Copy only the files/directories that match up specified strings(UNIX Wildcard style).
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.
(For example: *.txt; My Folder [0-9]\)
Exclude Don't copy the files/directories that match up specified strings.
The following filters are enabled when check "Option" -> "Show Extended filter".
FromDate Don't copy the files that timestamp are older than specified date(format).
This can be specified by not only absolute format ("20090322") but also by relative format (10days 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 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 specified size.

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 ""
\Escape character (However, if '\' is the end of string character, it means a directory)
(Attention: In the future, filter string specification may be changed.)

FromDate/ToDate filter format.
AbsoluteSpecify "YYYYMMDD"(year/month/day).
ex) "20090101"
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 understood in ver1.70 or later.
Diff/Copy Copy Junction/Symlink itself.
If you want to change the copy Junction/Symlnk's target, it can be changed in the Options | Main settings dialog.
Move Always move Junction/Symlink itself.
Delete Always delete Junction/Symlink itself.


HardLink can be reproduced as much as possible, if specify /linkdest option in ver1.95 or later.
(In running, "TotalFiles:" format changes "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 entity files. (It depends on path length)
2. It can decrease speed, because it opens not only copying files but also skip files.

If /linkdest option is enabled, /recreate option is enabled tacitly.
If you want always to enable /linkdest optoin, write [main] linkdest=1 in fastcopy.ini file.

Job Manage -> Add/Del Job

Register/Restore parameters in main window as named job.
Add/Modify Add/Modify prameters 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.

Option -> Main Settings

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

Option -> Shell Extensions

Register copy/delete menu items with Explorer's right click menu and right drag&drop menu.

Option -> Auto/Same/Diff HDD mode

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

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.

Option -> 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.

6. Command Line

A basic format is as follows.

fastcopy.exe [/options] file1 file2 ... [/to=dest_dir]

1. Please use space character(' ') as separator(not semicolon).
If filename contains space character, please enclose with dobule quotation marks.
Ex) fastopy.exe C:\Windows "C:\Program Files" /to="D:\Backup Folder\"

2. If you want to wait to finish, please use start /wait command.
Ex) start /wait fastcopy.exe [/options]...
Supported options are as follows. (Please don't put space characters before and behind "=")

/cmd=(noexist_only|diff|update|sync|force_copy|move|delete) ... Specify operation mode.
(By default, diff mode is used. If delete mode is specified, then "/to=" option isn't used.)
cmdlinein GUI
noexist_onlyDiff (No Overwrite)
diffDiff (Size/date)
updateDiff (update)
force_copyCopy (Overwrite)
syncSync (Size/date)
moveMove (Overwrite)
/auto_close ... Close automatically after execution is finished with no errors.

/force_close ... Close automatically and forcedly after execution is finished.

/open_window ... Don't stored in the task tray.

/estimate ... Estimate complete time.

/no_exec ... Don't start to execute.

/no_confirm_del ... Don't confirm before deleting.

/no_confirm_stop ... Don't Show error dialog, Even if critical errors occurred.

/error_stop ... Show error dialog (and operation is interrupted), if an error occurred. (to disable, /error_stop=FALSE)

/bufsize=N(MB) ... Specify the size(MB) of the main buffer for Read/Write opration.

/log ... Write the operation/errors information to the logfile(fastcopy.log). (to disable, /log=FALSE)

/logfile=filename ... Specify the filename of logfile.

/filelog ... Write to the filelog(detail of copy/delete files). It is stored TIMESTAMP.log in FastCopy/Log directory. If using verify mode, write digest data(default:md5) as additional data. (To specify filelogname, /filelog=filename)

/utf8 ... Write to the logfile using UTF-8 encoding (supports Unicode).

/skip_empty_dir ... Skip to create empty directories when /include or /exclude option is used. (to disable, /log=FALSE)

/job=job_name ... Specify the job that is already registered.

/force_start ... Start at once without waiting for the finish of other FastCopy executing.

/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.

/srcfile="files.txt" ... Specify source files by textfile. User is able to describe 1 filename per line. (Attention: If a lot of files are specified, it will take many times to display/refresh Source combobox.)

/srcfile_w="files.txt" ... same as "/srcfile=", except describing by UNICODE.

/include="..." ... Specify include filter. (details)

/exclude="..." ... Specify exclude filter. (details)

/from_date="..." ... Specify oldest timestamp filter. (details)

/to_date="..." ... Specify newest timestamp filter. (details)

/min_size="..." ... Specify minimum size filter. (details)

/max_size="..." ... Specify maximum size filter. (details)

/wipe_del ... Rename filename and wipe(overwrite Random data) before deleting.

/acl ... Copy ACL (only NTFS) (to disable, /acl=FALSE)

/stream ... Copy Alternate Stream (only NTFS) (to disable, /stream=FALSE)

/reparse ... Copy junction/mountpoint/symlink itself(to disable, /reparse=FALSE) (details)

/verify ... Verify written files data by MD5(or SHA-1) (to disable, /verify=FALSE) (details)

/linkdest ... Reproduce hardlink as much as possible. (details)

/recreate ... Change 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 fastcopy.ini.

/postproc=actoin_name ... Specify post-process action name (to disable, /postproc=FALSE)

Ex) Copy C:\Test Folder to D:\Backup Folder by "diff(Size/Date)" mode is...
  fastcopy.exe /cmd=diff "C:\Test Folder" /to="D:\Backup Folder\"

7. Warning

8. Latest Version/Contact

9. Misc

10. ToDo

  • Direct network communication mode between two fastcopy processes. (Don't use SMB protocol)
  • 11. History

    v2.11Fix to ignore command line and shell extension in English GUI mode
    v2.10 Prevent hazy display on 120DPI mode of Vista/7. Fix to sometimes fail update copy with ACL/Stream. Enable to select updating span for information (250/500/1000ms). Show Job name to main window title. Add taskbar minimzie mode instead of tasktray. Add Post-process command condition. Misc refine.
    v2.08Append selected directory to source field, if it is pushed OK button in Source directory Select Dialog with pushing CTRL key. Fix save path history problem(v2.07 only)
    v2.07Prevent autocomplete of combobox at resizing main window. misc refine.
    v2.06Fix exception at verify mode(v2.05 only).
    v2.05Fix not to save settins in Win98. Enable to select writing ACL/AltStream errors to the log.
    v2.04Enable drag & drop in admin mode on UAC. settings dialog and misc refine.
    v2.03Fix "Elevate" menu item didn't work in English UI.
    v2.02Release x64 native version. Store fastcopy.ini and logfiles in \Users\(USER)\AppData\roaming\FastCopy, if installed in \Progmram Files in Vista or Win7(UAC on/off is unrelated). Misc refine/fix.
    v2.01Fix not to finish "move" in same HDD rarely. Restore not to require absolute path.
    v2.00Add simple compare function("listing" with CTRL button). Store fastcopy.ini and logfiles in \Users\(USER)\AppData\roaming\FastCopy, if UAC is enabled and installed in \Progmram Files. Enable manual settings of Physical Drive group. Enable 32bit shell extension in 64bitOS. Fix exception when deleting Job.
    v1.99r4Adjust destination filename to source filename when both upper/lower case are different (except "overwrite all" mode). Fix showing no detail error.
    v1.99r3Fix automatically decision of HDD mode problem.(v1.99r2 only) Improve to estimate complete time.
    v1.99r2Add detail filelog option(/filelog). Enable filter in move mode. Speed up starting (Replace API's inifile access by original routine.) Affect filter for the files those are specified direct in Source EditBox. Modify /srcfile option when using MBCS in srcfile contents. Additionally, refinement
    v1.98Add Extended (filesize/timestamp) filter. ("Option" -> "show extended filter")
    v1.97Correct that sometimes it failed to play sound in post-process action. Additionally, refinement
    v1.96If /linkdest option is enabled, change updating behavior "overwrite the target" to "delete and recreate the target". Add option(/recreate) that change updating behavior "overwrite the target" to "delete and recreate the target", regardless of specifying /linkdest option.
    v1.95Add reproduce hardlink option(/linkdest). Change showing Post-Process notice dialog as foreground. Correct wrong freeing memory at termination.(v1.93-v1.94) Correct that sometimes ACL/Stream copying failed.
    v1.94Correct that helpfile can't be opened.(v1.93 only)
    v1.93Add Post-Process(shutdown or etc) menu. Add "open log" menu. Add /srcfile option.(specify source files by textfile). Correct that JobMng saved "Delete" mode as "move" mode(v1.80-v1.92 only). Correct that installation option(creating shortcut) didn't work at Non-English OS.(v1.92 only)
    v1.92Correct English document. Add "run in task tray" option in shell extension. Correct that sometimes incomplete file remained when error occurred.
    v1.91Correct that sometimes "wipe and delete" failed. Correct that "move with verification" wasn't finished rarely. Correct that network drive in directory select dialog didn't show.
    v1.90Speed up verification. (I/O and verification are processed by parallel.) Switching SHA-1 to MD5 for verification as default.(If you want to use SHA-1, write [main] Using_MD5=0 in fastcopy.ini). Add to fix window position/size in menu. Add Source/DestDir swapping in menu.
    v1.84Correct wildcard filter problem. (when many wildcard strings were registered, unregistered string was occured rarely. To be exact, when sum of registered characters are just 62*n, boundary string wasn't registered)
    v1.83Using OS cache at reading option is ON, although it is disabled OS cache for verify reading.
    v1.82Add using OS cache at reading option.(OS Cached file reading will be faster. But not OS cached file reading require new OS cache area, and it will has bad effect for virtual memory area(swap or etc). this option is not recommended for normal use.)
    v1.81Correct move with verify mode.(if verify error occurs, sometimes process doesn't finish.)
    v1.80Add verify option by SHA-1. Add "paste" menuitem in shell extension. Add move(Size/date) mode. Add move as one by one option. Auto reduce MaxIO size(if ERROR_NO_SYSTEM_RESOURCES is occured). Add suppressing confirm dialog at stopping error(/no_confirm_stop).
    v1.71Correct registering shell extension problem (Win2000/Me/98 only)
    v1.70Interpret Junction/Symlink (by default, it is copied Junction/Symlink itself (not target childs). In remove mode, it is always removed only Junction/Symlink itself). Elevate Admin(for Vista UAC). Add shell extension for 64bitOS. Add logging as UTF-8 option. Add logging filename option(/logfile=). Expand error log area.
    v1.63Change size limit of filter strings(62->2048chars)
    v1.62Correct CreateFile error that is caused by generating illegal dest path.(1.60/61 only)
    v1.61If string length is over 8192 chars in src field, it is truncated 8192 chars at executing. (v1.60 only)
    v1.60NTFS Access Control List(ACL), Alternate Stream support. Add Wipe & Delete option (normal and NSA method) for delete mode. Change Process Priority Class at using Auto Slow function.Changing "Auto Slow" checkbox to slider control.
    v1.55Modify PopupDialog Position at tasktray mode
    v1.54Modify for NT4.0
    v1.53When executing in tasktray by command line, it don't get focus. In the multi monitor, the window shows in the monitor that has mouse pointer. Modify to enable /error_stop option.
    v1.52Addition of Auto Slow function. It is corrected that too strictly time stamp judgment in some UDF filesystems. It is corrected that control specification (=FALSE) of the command line option did not work effectively.
    v1.51When two or more different directories are specified for src and using estimating option, it terminated abnormally sometimes occasionally.
    v1.50Enable to the filter specification in the synchronous mode.
    v1.40Addition of job management function. Addition of preview listing function. Addition of multiple fastcopy process control option. When the filter is specified, the option not to make an empty directory is added. Addition of automatic operation/same/another HDD mode specification. The resize of the main window is possible. Informative label of API error. Additionally, refinement
    v1.32It is corrected that the Include/Exclude filter was invalid at the command line. Additionally, refinement
    v1.31It is corrected to have fallen immediately after execution when a lot of specification is done with the Include/Exclude filter occasionally.
    v1.30Include/Exclude filter function addition. When drag & is dropped in the same directory, the reproduction is made possible. It adds it by the Source selection the file selection dialog. In addition, some speed-up. Do not end excluding the deletion mode automatically when start by way of the shell + canceling. Other refinement.
    v1.21A part of phenomenon of not coming out the shell enhancing menu in the environment (It is v1.20's enbug) is corrected.
    v1.20Forecast function addition of copy completion time. It is corrected not to have functioned occasionally though it two or more file selection + opens by enhancing the shell. Other refinement
    v1.12Option of making to submenu addition of shell enhancing. It is corrected to have hardened when a large amount of file is selected by way of the shell occasionally (Only v1.10-1.11). The behavior of the shell enhancing with Nettowarcpras is changed. Other refinement
    v1.11In the environment, a part of problem that execution cannot begin is corrected.
    v1.10Making of the main window (Correspond to the drag & drop etc. of the UNICODE file name) UNICODE. To enclose the path name with ""when drag & is dropped, the file of the path name including the semicolon is changed. Mode addition that doesn't put out confirmation dialog when shell start is executed. It is corrected that the shell enhancing and the directory under the control of the start menu did not open it when it is effective occasionally. Other refinement.
    v1.001.00 release (2005/03/10)
    v0.501st alpha release (2004/09/27)

    Address:email (this is picture)

    ..up menu