FastCopy Help

FastCopy ver3.92

2020/08/02 H.Shirouzu (白水啓章) & FastCopy Lab, LLC.

Index

1. 概要
2. ライセンス
3. 動作環境
4. インストール・アンインストール
5. 使用法＆画面説明
1) Source/DestDir
  DestDir末尾の'\'の意味
2) 動作モード
3) ボタン＆オプション指定
4) フィルタ指定
5) ジャンクション・他
6) メニュー項目
6. 設定
1) 一般設定
2) フォント設定
3) 終了時処理
4) ジョブ管理
7. コマンドラインモード
8. 注意（危険なところ）
9. サポート掲示板＆最新版
10. その他
11. 履歴

1. 概要

Windows系最速 のファイルコピー＆バックアップツールです。

UNICODE でしか表現できないファイル名やMAX_PATH(260文字) を越えた位置のファイルもコピーできます。
自動的に、コピー元とコピー先が、同一のHDD(or SSD)に属するかを判定した後、以下の動作を行います。
別HDD間 | マルチスレッドで、読み込みと書き込みを並列に行う
同一HDD間 | コピー元から（バッファが一杯になるまで）連続 読み込み後、コピー先に連続して書き込む

Read/Write も、OS のキャッシュを全く使わないため、他のプロセス（アプリケーション）が重くなりにくくなっています。

可能な限り大きな単位で Read/Write するため、デバイスの限界に近いパフォーマンスが出ます。

Include/Exclude フィルタ（UNIXワイルドカード形式）が指定可能です。

MFC 等のフレームワークを使わず、Win32API だけで作っていますので、軽量＆コンパクト＆軽快に動作します。

ver3.0以降、設定ファイルは fastcopy.ini から fastcopy2.ini に変更になり、文字コードも UTF-8 になりました

2. ライセンス

FastCopy ver3.x Copyright(C) 2004-2020 by SHIROUZU Hiroaki and FastCopy Lab, LLC.

FastCopy ver3.x は GNU Public License ver3 のオープンソースソフトウェアです。
詳細は同梱のlicense-gpl3.txtをご覧ください。

（諸事情で、一時的にソースコード配布を停止中…無保証のフリーウェアとしてご利用ください）

xxHash Library Copyright (c) 2012-2020, Yann Collet All rights reserved.
ライセンス詳細はこちら。

3. 動作環境

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

4. インストール・アンインストール

インストール

FastCopy3xx_installer.exe を実行して、任意のディレクトリにインストールしてください。
USB メモリ等に格納して使用する場合は、インストーラの「展開のみ」ボタンを押して、FastCopy.exe等を取り出してください。
/h オプションを付けると、/silent や /extract 等のオプションが表示されます。

アンインストール

Win7以降では設定/コントロールパネル等にある「プログラムと機能」から、アンインストール可能です。
インストール先の setup.exe を使ってアンインストールすることもできます。
/r /silent とすると、サイレントアンインストールになります。

5. 使用法＆画面説明

ウィンドウの最小化で、タスク通知領域に格納します。
動作中は、各種ステータスが表示されます。
（ファイル数の括弧内はディレクトリ数を表します）

Source / DestDir

Source(コピー元) と DestDir(コピー先ディレクトリ) を指定します。
（デフォルトでは、過去10世代分記憶します）
Source を複数指定（ドラッグ＆ドロップ可）する場合は、改行して各行にパス名を書きます。

Source へのドラッグ＆ドロップ時に CTLキーを押している場合、現在の Source 内容に追加する形になります。（押していない場合は、現在の Source 内容はクリアされます）
また、DestDir 入力欄への（ディレクトリの）ドロップも可能です。

DestDir末尾の '\' の有無による挙動の違い

末尾に'\'がある | Source ディレクトリ自体を含めて、DestDir 配下にコピーします。 （DestDir\SourceDir\SourceDirの中身）
末尾に'\'がない | Source ディレクトリ自体はコピーせず、Source ディレクトリ配下の内容を DestDir 配下にコピーします。 （DestDir\SourceDirの中身） ただし、Sourceに複数のディレクトリを指定した場合は、上記の「'\' がある場合」の動作になります。

（ミニ知識） ディレクトリ内容をドライブ直下にコピーしたい場合は、Source の末尾に '*' を付与します。 たとえば、Source を "C:\Folder1\*"、DestDir を "D:\" とした場合、結果は "D:\(Folder1の中身)" となります。

動作モード

モード | 動作内容
差分（上書きなし） | 同じファイル名がある場合、コピーしません。
差分（サイズ・日付） | 同じファイル名がある場合、サイズもしくは日付が違う場合のみ、コピーします。（デフォルト）
差分（最新日付） | 同じファイル名がある場合、日付が新しい場合のみ、コピーします。
コピー（全上書き） | 常に上書きコピーします。
同期（サイズ・日付） | 同じファイル名がある場合、サイズもしくは日付が違う場合のみ、コピーします。 さらにコピー元に存在しない、コピー先ファイル（＆ディレクトリ）をすべて強制削除します。
移動（全上書き） | 上書きコピーした上で、コピー元を全削除します。 （一般設定→「コピー・移動設定」にて「移動（サイズ・日付）」に変更することができます）
全削除 | 指定されたファイル（＆ディレクトリ）を全て強制削除（＝読み取り専用属性がついたファイルも属性をクリアした後、削除）します。

ボタン＆オプション指定

実行 | コピー動作を実行します。実行中は、中断...ボタンに変化します。 ・CTLキーを押しながら実行を押すとソース一覧が表示された確認ダイアログが出てきます。
リストアップ | コピー＆削除される（予定の）ファイルを、リストアップして表示します。頭に '+' は作成・更新され、'-' は削除されます。 ・CTLキーを押しながらリストアップを押す（ボタン名「リストアップ」→「リストアップ+V」）と、スキップ対象（ただしフィルタ除外は除く）のファイルペアについて、読み込み＆ハッシュ値比較を行います。 ・SHIFTキーを押しながらリストアップを押すと（ログ設定でファイルログを有効にしている場合）リストアップ内容がファイルログに記録されます。（ログ設定でファイル日付・サイズ記録オプションを設定している場合、それらも表示・記録されます）
Buffer 指定 | Read/Write に使う、バッファサイズを表示します。クリックすると設定が表示されます
速度コントロール | 最大(Full Speed)、自動速度制限(Auto Slow)(*1)、速度指定(90%～10%)、停止(Suspend) を指定することができます。重いと感じる場合は「自動速度制限」を試すと良いでしょう（マウスや最前面ウィンドウの変化を検知すると、一定時間、遅くします）。また「最大」以外の場合は、プロセス優先度クラスを「低」に落とします。（ジョブ管理での保存項目対象にはなりません）
エラー時継続 | Read/Write/Delete等で、エラーが発生しても、中断せず、可能な限り動作を続けます。 （ただし、エラー表示欄やエラーログには残ります）
ベリファイ | xxHash3 (MD5/SHA-1/SHA-256/xxHash) による書き込みデータのベリファイを行います。 （MD5/SHA-1/SHA-256/xxHash を利用する場合は、設定のコピー・移動関連オプションから変更できます。 安全性としてはxxHash3 で十分ですが、ログに記録されるハッシュ値を別用途で利用したい場合にお使いください） なお、具体的には、次のような比較を行います。 Read(Src) → xxHash3(Src) → Write(Dst) → Read(Dst) → xxHash3(Dst) → xxHash3比較(Src/Dst) （各ステージが、複数のファイルを跨ったパイプラインのように並列して処理されます） ベリファイエラーが発生した場合、コピー元・先のハッシュ値を表示した上で、コピー先のファイル名に.fc_verify_errを付与したものに変更します。 （設定で、削除動作にすることもできます）
VerifyInfoList | （Ctrlキーを押した時だけ表示されます） src配下で、特別な副次ストリーム(:fc_verify)を持つファイルを列挙＆中身を表示します。 （＝特別な副次ストリームはハッシュ情報付与オプション有効にしてベリファイ付きコピーしたファイルに付与されます） ベリファイコピー直後にVerifyInfoを確認したい場合、設定 → Source⇔DestDirを交換、を実行して、書き込み先をSourceに指定してください。（VerifyInfoList は Source配下をチェックします） （Ctrlキーに加え、Shiftキーを押しながらボタンを押すとファイルログにも記録されます）
完了時間予測 | コピー開始前に、総ファイル数・総ファイルサイズを調べることで、完了時間を予測します。 （なお、削除モードでの予測はできません。また、移動モードの場合、削除時間は予測に含んでいません）
直ちに開始 | 他の FastCopy が実行中の場合に、その完了を待つことなく、直ちに実行を開始します。（なお、他の FastCopy がコピー・移動中でない場合、このボタンは現れません）（同時実行）
（*1)FastCopy がアクティブでない状態でマウス移動を検出すると速度制限します。具体的には、I/O 動作の合間にウェイトを入れる、プロセス優先度を下げる、I/O優先度を下げる、最大I/Oサイズを1MBに低下させる、等により動作速度を制限します。なお、動作内容は、将来、変更される可能性があります

ACL属性 | NTFS のアクセスコントロールリスト(ACL)をコピーします。 （ACLコピーは特権に昇格した状態で実行することを推奨します） 拡張属性(EA)も（存在すれば）コピーします。
副次Stream | NTFS の副次ストリーム(Alternate Stream)をコピーします
復元無効化（上書き後に削除） | 削除する前に、対象ファイルをリネームした後、ランダムデータで上書きすることで削除ファイルの復元を実質的に無効化します。なお、副次ストリームの上書きは行いません）なお、復元できない保証はありませんのでご注意

フィルタ指定

マッチするファイル/ディレクトリのみをコピーしたり、除外することができます。
（リストアップボタンで、事前に動作を確認しておくと便利です）

Include | 指定文字列（UNIXワイルドカード形式可）にマッチするファイルやディレクトリ配下のみをコピー対象にします。（備考） 複数指定する場合は、セミコロンで区切ります。 ディレクトリを指定する場合は、文字列の末尾に '\' を付与します。 例1：*.txt → a.txt, 123.txt などのファイルがマッチします 例2：[^ax]bc → bbc などのファイルがマッチしますが、abc や xbc にはマッチしません 例3：dir[0-9][234]\ → dir12 などのディレクトリがマッチし、dir1 や dir10 にはマッチしません
Exclude | Include の反対で、マッチするファイル・ディレクトリを除外します。
以下のフィルタは、設定→拡張フィルタ表示を有効にした場合のみ表示されます
FromDate | 指定日時（書式）以降の更新タイムスタンプを持つファイルを対象とします。 書式は絶対日付指定("20150701" or "2016/09/26 12:30:59" 等)以外に、相対日付も可能です(10日前: '-10D')
ToDate | 指定日時以前の更新タイムスタンプを持つファイルを対象とします。
MinSize | 指定サイズ以上のファイルを対象とします。末尾に K/M/G/T を付与することで、サイズの略記表記可能です。
MaxSize | 指定サイズ以下のファイルを対象とします。

備考１）削除モードで、Include に「ファイル指定あり＆ディレクトリ指定なし」の場合にディレクトリ削除しません。
備考２）ファイルを1つ以上指定した場合、マッチしないファイルはコピーされません。
備考３）ディレクトリを1つ以上指定した場合、マッチしないディレクトリ配下以外はコピーされません。
相対パス指定 Include/Exclude の先頭文字が \ でない場合、相対パス指定となり、パスの末尾方向からの一致を検索します。
ディレクトリの Include指定の例
Source指定 | C:\dir\
Include指定 | subdir[1-9]\xxx\
マッチ例 | C:\dir\subdir2\xxx\ や C:\dir\aaa\subdir3\xxx\ など
効果 | マッチしたディレクトリとその配下全てがコピーされます。
ファイルの Include指定の例
Source指定 | C:\dir\
Include指定 | subdir[1-9]\file.*
マッチ例 | C:\dir\aaa\subdir9\file.txt や C:\dir\bbb\ccc\subdir9\file.doc など
効果 | マッチしたファイルがコピーされます。
前方一致指定 Include/Exclude の先頭文字が \ ではじまる場合、前方一致指定となり、パスの先頭方向（下記、フィルタ検査の開始点を参照）からの一致を検索します。

たとえば、C:\aa\ をSourceとし、C:\aa\bb\cc\ を除外したい場合、前方一致フィルタは \bb\cc\ となります。
（除外したいパス(C:\aa\bb\cc\) から Source(C:\aa\)を取り除いた後、先頭に前方一致を意味する \ を付与）
ディレクトリの Include指定の例
Source指定 | C:\dir\
Include指定 | \subdir[1-9]\xxx\
マッチ例 | C:\dir\subdir2\xxx\ や C:\dir\subdir3\xxx\ など。
効果 | マッチしたディレクトリとその配下全てがコピーされます。
備考（マッチしない例） | C:\dir\aaa\subdir2\xxx\ など、階層が違うもの。
ファイルの Include指定の例
Source指定 | C:\dir\
Include指定 | \subdir[1-9]\file.*
マッチ例 | C:\dir\subdir2\file.txt や C:\dir\subdir9\file.doc など
効果 | マッチしたファイルがコピーされます。
備考（マッチしない例） | C:\dir\aaa\subdir9\file.txt など、階層が違うもの。
絶対パス指定 Inlcude/Exclude の先頭文字が C:\ のようなドライブレターで始まるか、\\server\volume\ のように UNCパスで始まる場合、絶対パス指定となります。
指定する絶対パスは、Sourceを含んでいる必要があります。
内部的には、前方一致指定に変換されます。（絶対パスから、下記の「フィルタ検査の開始位置」が差し引かれたものが、前方一致指定として登録されます）
（備考）
フィルタ検査の開始位置 		Source指定が
C:\src\
C:\src\file.txt
C:\src\dir*
のいずれかの場合、フィルタ検査の開始位置（先頭）は
C:\src\ の次の文字からになります。（C:\src\ まではフィルタ検査範囲に入りません）

Include / Exclude フィルタ指定で使用可能なワイルドカード書式
* | 0文字以上の任意の文字
? | 1文字の任意の文字
[abc] | abc のどれか 1文字
[!abc] | abc のどれか 1文字以外。'!' の代わりに '^' でも可
[a-z] | a-z までの任意の1文字
\ | 先頭の\は前方一致指定を意味します。パス途中の\はディレクトリ区切りを意味します。末尾の\はディレクトリ指定を表します。 [] の中で\はエスケープ文字になります。例えば "["や"]"をファイル名文字の一部として指定したい場合は、[\[] などとします

FromDate/ToDate フィルタ指定の書式
絶対日時指定 | 日時を YYYYMMDD[hhmmss] もしくは YYYY/MM/DD [hh:mm:ss] で指定
相対日時指定 | -10D（10日前）などのように、"+|- 数字 W|D|h|m|s" の書式で指定します。 W|D|h|m|s はそれぞれ、週、日、時、分、秒を表します。 （大文字小文字を区別します）

ジャンクション・シンボリックリンク

v1.70から、ジャンクション（含むマウントポイント）・シンボリックリンクを認識するようになりました。
モード | 動作内容
差分・コピー | デフォルトでは、ジャンクション・シンボリックリンク自体をコピーします。設定で指す先をコピーする挙動を変えることもできます（注意）。
移動 | 常に、ジャンクション・シンボリックリンク自体を移動します。
削除 | 常に、ジャンクション・シンボリックリンク自体を削除します。

ハードリンク

「コピー・移動設定」 or /linkdest 指定で、ハードリンクを再現できます。
（実行時の TotalFiles: 表示が、"ファイル数（ディレクトリ数）" から "ファイル数/ハードリンク数（ディレクトリ数）" に変化します）

注意点は以下の２つです。
１．ハードリンク実体1万ファイルあたり、2-4MB程度メモリを消費します（パス長に依存）。
２．差分コピー動作が遅くなります。（リンクカウンタ取得用にスキップ対象のファイルもオープンするため）。

ハードリンク再現を有効にした場合、/recreate オプション相当の動作が常に有効になります。

メニュー項目

ファイル(F)

ログを開く | fastcopy.logを開きます
最終ファイルログ | 「ファイルログを記録する」をチェックしている場合に最後に実行したファイルログを表示します
ファイルログ履歴 | 「ファイルログを記録する」をチェックしている場合に最後に、過去のファイルログを開きます
FastCopyDir | fastcopy.log や fastcopy2.ini が置かれているディレクトリを開きます
起動時位置にする | 起動時に、常に現在の位置で開くようにします
起動時サイズにする | 起動時に、常に現在のサイズで開くようにします
常に最前面に表示 | 常に最前面に表示します。
閉じる | FastCopyを終了します

ヘルプ

ヘルプ | このヘルプを開きます
アップデート確認 | https://fastcopy.jp/fastcopy-update.dat にアクセスして、アップデートが存在するか問い合わせます。
サポート掲示板 | FastCopy関連の質問や提案をする掲示板です
最新版URL | FastCopyのホームページを開きます
FastCopyについて | バージョン＆著作権を表示します

特権

特権（管理者権限）を取得します。特権状態の場合は表示されません。その場合、タイトルバーに (Admin) の表示が出ます。

上記以外の項目

ジョブ管理(F) 設定(S)

6. 設定

設定 → 一般設定

FastCopy の一般設定（各種デフォルト値、I/Oパラメータ、ログ記録等）を行います。

デフォルト設定

起動画面のデフォルト値を指定します。
メイン画面のデフォルト値 | 項目説明は こちらをご覧ください。
Language | 表示言語を変更します（再起動後に有効になります）

I/O設定

I/O用の基本パラメータ設定を行います。
メインバッファサイズ(MB) | Read/Writeで使うメインバッファを指定します。
I/O単位(MB) | 1回にOSにリクエストするReadFile/WriteFileのサイズを指定します 「I/O単位 * 非同期I/O発行数」が、OS内で同時に実行される「最大I/Oサイズ」になります。 なお、手元での実験では I/O単位を2～4MB以上に大きくするとネットワークドライブでの転送速度が少し低下するため、1MBを推奨値としています。 この値（と下記の非同期I/O発行数）を極端に大きくすると、カーネル内リソース不足で I/Oエラーになることがあります。
非同期I/O発行数 | ReadFile/WriteFile API発行毎に完了を待たず、並行してAPIを発行することで（特にネットワークドライブに対する）I/O速度を向上させています。 （なお、この数を1にすると非同期I/Oを使いません）
最小セクタ長を4KBと見なす | 書き込み側ルートディレクトリは512byteセクタでかつ、（ジャンクション等により）配下ディレクトリが4KBセクタに変化する場合に ON にします。 （ONにすると、1byteファイルにも常に4KBバッファを用意するため、小容量ファイルでのバッファ利用効率が若干下がります。なお、読み込み側ドライブ側セクタサイズ変化は自動追随するため、チェックは不要です）

OSキャッシュ設定
読込み側OSキャッシュ利用 | 読み込み時にダイレクトI/Oを使いません。 転送速度が遅くなったり、OSのファイルキャッシュによって、他のプログラムのメモリがスワップアウトされる可能性が増えるのでお薦めしません。
NTFS系/FAT系/NetDrv系 | 指定サイズ未満の書込み時にダイレクトI/Oを使いません。 読込みOSキャッシュを利用と同じデメリットがありますが、ごく小さなファイルに限ってはヘッドシークの低減によって高速化につながるため、デフォルトではNTFS64KB未満、FATでは128KB未満、NetDrv(Network Drive)では2MB未満では利用する設定になっています。

ディレクトリ読み取り
一括読み取りを有効にする FIND_FIRST_EX_LARGE_FETCHフラグを有効にして、ディレクトリエントリの読み取り速度を向上させます。

ドライブグループ

同じHDD(or SSD)に属するドライブを明示的にグループ化します。(*1)
FastCopy は通常、物理ドライブグループを自動判定しますが、RAIDやTrueCryptのように正確な判定が難しいドライブは手動で明示的に設定します。
物理ドライブグループの手動指定
概要 | どのドライブ同士が同じHDD(or SSD)かを手動で指定します。
指定方法 | C:とD:が同じHDDで、E:とF:が同じHDDであるとき、"CD,EF" と指定します。 なお、UNCパス名のドライブに関してはドライブレターを割り当てるか、下の判定ポリシー指定を行ってください

ネットワークドライブの物理ドライブグループ判定ポリシー
概要 | どのネットワークドライブ同士が同じHDD(or SSD)に属するかのポリシーを設定します。 ドライブレターを割り当てたネットワークドライブもマウントの際に使った UNC名で判定します。(*2)
同じUNC共有名＝同一物理ドライブグループ | UNC名が \\Server1\vol1\ とした場合、\\Server1\vol1\ が一致するUNC名を同一HDDと見做し、\\Server1\vol2\ は別のHDDと見做します
同じUNCサーバ名＝同一物理ドライブグループ | UNC名が \\Server1\vol1\ とした場合、\\Server1\ が一致するUNC名を同一HDDと見做し、\\Server2\... は別のHDDと見做します
全てのUNC共有名＝同一物理ドライブグループ | すべてのネットワークドライブを同一HDDと見做します
(*1) パーティションを分けた同一HDDに対して、同時に Read と Write を発行するとヘッドシーク多発等により、かえって遅く＆HDDの機械寿命にも悪影響を与えるため、同一HDDモードと別HDDモードを識別して、動作を変化させています
(*2) ネットワーク速度が十分でない場合は「全てのUNC共有名＝同一物理ドライブグループ」を選び、ネットワークの輻輳を避ける方が安定した転送ができる場合があります

同時実行

FastCopy の同時実行数を設定します。
並列動作する場合、CPU、メモリを動作数分、必要とします。
物理メモリが十分確保できない場合、却って動作が遅くなる場合があります。
FastCopy の最大同時実行数 | 複数起動した FastCopy について、並列動作を許容するプロセス数を設定します。 なお、他のFastCopyが同一HDDを処理中の場合は、同時実行最大数以下であっても当該FastCopyの終了を待ってから実行開始します。 同一HDD判定の手動設定は「ドライブグループ設定」から行えます。
他のFastCopyが動作中の場合も、直ちに実行開始する | 同時実行数設定や他のFastCopyの同一HDD利用を無視して、常に無条件に即実行します

コピー・移動関連オプション

コピー・移動関連オプションです。
フィルタ使用時、空ディレクトリは作成しない | フィルタ適用の結果、コピーすべきファイルが無かったディレクトリは作成しません
コピー元と同一ディレクトリへのコピーはリネームして動作継続 | コピー元と同一ディレクトリへのコピーの場合、ディレクトリ名の末尾に(1)などを付与してコピーします
Junction/Symlink は（実体/配下ではなく）それ自体をコピー | ジャンクション・シンボリックリンクはそのままジャンクション・シンボリックリンク自体を複製します（デフォルト）。 チェックを外すと指し示す先のファイルやディレクトリ配下をコピーします。（注意 *1） （移動・削除動作では設定に関わらず常にONとなります） なお、シンボリックリンクの作成には特権（管理者権限）が必要となります。
コピー・移動時に、書き込み先を共有オープンする（少し危険） | 書き込み先を非排他オープンします。別のプロセスがオープン中のファイルでも書き込める可能性が増えますが、別のデータが書かれるとファイル内容が壊れる可能性があります。
ハードリンクをなるべく再現 | ハードリンクを再現します。詳細はこちらを参照
「移動（全上書き）」を「移動（日付・サイズ）」 に変更 | 移動先に日付・サイズが同じファイルがある場合、コピーすることなく移動元から削除します
移動を逐次方式に | 通常は移動予定リスト（数千～数万ファイル）が一杯にならない限り、コピー元の削除を始めませんが、これをチェックするとファイルコピー終了毎に終わり次第（なるべく）即座にコピー元を削除します
移動（ベリファイ時） | 上と同じ動作ですが、ベリファイが終わり次第、となります
タイムスタンプ比較時の許容誤差 | 差分（日付・サイズ）や差分（最新日付）で、src/dst の更新日付差の許容時間を指定します。 通常はファイルシステム種類に基づくタイムスタンプ精度（NTFS=100ns単位、FAT=2秒単位等）の差を自動補正して判定しますが、一部のNAS等で秒未満の更新日付が正確でない環境では手動で同一と見做す更新日付の許容範囲を設定してください。（msec単位）
（*1）例えば "C:\Users\(user)\AppData\Local\Applicatoin Data" は "C:\Users\(user)\AppData\Local" を指しています。これを「実体/配下コピー」すると無限に再帰します。（C:\Users\(user)\AppData\Local\Applicatoin Data\Applicatoin Data\Applicatoin Data\…）。従い、実体/配下コピーを有効にする場合は注意が必要です。

ベリファイオプション

ベリファイオプションです。
ハッシュ方式（ベリファイ用） | ベリファイ用ハッシュ方式(xxHash/MD5/SHA-1/SHA-256/xxHash3)を選択します
ベリファイエラー時、.fc_verify_err にリネームせず、ファイルを削除 | （左に同じ）
ベリファイ情報を付与 | ベリファイコピーが完了した時点で、副次ストリーム(:fc_verify)に下記を記録します。 （コピー後の経年データ破壊の検出などにお使いください） {done=完了日時, ftime=ファイル日時, size=サイズ, xxHash=ハッシュ値} なお、ベリファイエラーの場合、下記の形になります {error=完了日時, ..., xxHash(src=ハッシュ値, dst=ハッシュ値)} なお、この情報はメインウィンドウで Ctrlキーを押すと表示される「VerifyInfoList」により読むことができます。

削除関連オプション

削除関連オプションです。
フィルタ指定での削除時にもディレクトリ削除する | デフォルトでは Include指定にファイルのみが指定されディレクトリ指定がない場合、ディレクトリを削除しません。 これをチェックすると、常にディレクトリも削除します。（注意）
復元無効化にNSA方式を使う （３回上書きのためとても遅い） | 復元無効化をON（＝削除する前にランダムデータで１回上書き＆ファイル名をリネーム後に削除）にした際、１回ではなく、３回上書きします（２回ランダムなデータで上書きした後、最後に 0 で１回上書き）。

ログ設定

ログ関連オプションです。
Source/DestDir の履歴数 | 再起動後に有効です
エラーログを記録 | エラーログをfastcopy.logに記録します
ログはUTF-8を利用 | 文字コードにUTF-8を使います。チェックを外すとSJISで記録します。
ファイルログを記録する コピー毎に、Log\日付.logファイルを作成し、コピーしたすべてのファイル名やエラーを記録します
ファイル日付 | ファイル更新日付も記録します
ファイルサイズ | ファイルサイズも記録します
ACLエラーをログに記録する | 非NTFS環境（Samba等）や非特権状態では大量にエラーログが出ることがあります
副次Streamエラーをログに記録する | Samba環境（Samba等）では大量にエラーログが出ることがあります

ログ内に出てくる記号の意味について。
+ | ファイル/ディレクトリの作成
- | ファイル/ディレクトリの削除
-> | シンボリックリンク/ジャンクションの作成
=> | ハードリンクの作成
!! | ベリファイエラー（ハッシュ値の不一致）

シェル拡張

シェル拡張を行います。
通常起動すると個人用拡張となり、管理者権限で起動すると全ユーザ向け拡張になります。

最小化時の設定

最小化時に、タスクトレイを使うか、タスクバーを使うかを選択します。

その他

その他のオプションです。
起動時に自動アップデート | 最新版が存在するか確認し、自動アップデートします（前回の確認から1日以上経過している時のみ）
実行前に確認ダイアログ | 実行前に確認します
MiB/s ではなく、MB/s で速度表示 | MiB/s ではなく MB/s を使うソフトに合わせます。（数値が約4.8%上昇します）
表示更新間隔 | 実行時の表示更新時間を指定します。アイコンの回転速度にも同期します
終了時にバルーン通知 | タスク通知領域格納時に終了をバルーン通知で知らせます
コピー中は、自動スリープを防止する | OS設定で自動スリープが設定されていても、コピー中はスリープしません。 （ただしエラーダイアログ表示中は移行を防止しません）

設定 → フォント設定 → メインフォント変更＆リセット

メインウィンドウ中央の情報枠のフォントを変更します。
各桁を揃えて表示したい場合は、固定ピッチフォントの利用をお勧めします。

設定 → 自動/同一/別HDDモード

自動/同一/別HDDモードを指定します（デフォルトは自動）。なお、CTL+K で各モードに、順次、切り替えすることもできます。

設定 → 終了時処理

終了時処理を選択します。標準、スタンバイ、休止、シャットダウンがデフォルトで用意されています。
「追加/変更/削除…」を選ぶと、サウンド設定やコマンド実行など新しい終了時処理を追加が可能な「終了時処理ウィンドウ」が表示されます。
終了時処理ウィンドウ
処理名 | 標準、スタンバイ、休止、シャットダウンが標準で用意されています。 新たな名前の終了時処理を作ることも可能です
サウンド再生 | 終了時に再生します。 「エラー発生時のみ実行する」も選べます
コマンド実行 | 終了時に実行するコマンドを指定できます。 メール送信ソフトと組み合わせると有用かもしれません。 「実行条件」として、無条件/正常終了時/エラー終了時、のいずれかを選択できます。 「完了を待つ」をチェックするとコマンドが終了するまで、「シャットダウン/スタンバイ/ハイバネーション」処理に移行しません。
スタンバイ/シャットダウン処理の概要
シャットダウン/スタンバイ/ハイバネーション処理は、動作前に60秒のカウントダウン表示があり、途中キャンセルも可能です。 また、他の FastCopy が処理中の場合、その完了を待ってから60秒のカウントダウンが始まります。
猶予 | 実行までのカウントダウン秒数を変更できます（標準60秒）
エラー発生時には実行しない | 正常終了時のみ実行します

設定 → 拡張フィルタ表示

拡張フィルタ（タイムスタンプ/サイズフィルタ）を表示します。

設定 → Source ⇔ DestDir の交換

相互に同期したい場合などのために、Source と DestDir の内容を交換します。その際、末尾の '\' の有無による挙動の違いなどを踏まえて、パス内容を必要に応じて加工します。（例えば、Source: C:\AAA\BBB、DestDir: D:\CCC\ の場合、Source: D:\CCC\BBB、DestDir: C:\AAA\ となります）
なお、Source が複数指定されている場合は、利用できません。
CTL+ALT+S でも実行可能です。

ジョブ管理 → ジョブ登録・削除

メインウィンドウの記述内容を、ジョブという単位で、保存＆呼び出しできるようにします。
追加・更新 | メインウィンドウ内容（Source/DestDir, コマンドモード, フィルタ指定、バッファ指定、エラー時継続オプション、完了時間予測、自動/同一/別HDDモード）にジョブ名を付けて保存・更新します。
削除 | 選択したジョブを削除します。
Windowsタスクスケジューラを起動する | Windowsタスクスケジューラを起動します。 （単なるショートカットであり、タスクスケジューラ登録のアシスト/連携機能は FastCopy側にはありません）

7. コマンドラインモード

基本的な書式は、以下の通りです。

  fastcopy.exe [/オプション類] file1 file2 ... [/to=dest_dir]

GUI モードと違い、区切り文字は空白文字になります。
空白文字を含むパス名は、"" で括って指定してください
/to= は必ず末尾で指定します
実行終了まで待ちたい場合は、start "" /wait fastcopy.exe [/オプション類] ... とします

指定可能なオプションは、以下の通りです。（なお、'=' の前後には空白を入れないで下さい）

/cmd=
(noexist_only
| diff
| update
| force_copy
| sync
| move
| delete) 		動作モード指定。（cmd 指定省略時は diff モード。delete 指定時は、/to=dest_dir は使いません）
cmdline | GUIでの表記
noexist_only | 差分（上書きなし）
diff | 差分（サイズ・日付）
update | 差分（最新日付）
force_copy | コピー（全上書き）
sync | 同期（サイズ・日付）
move | 移動（全上書き）
delete | 全削除
/auto_close | コピー終了後、自動的に終了します
/force_close | コピー終了後、エラーが発生していた場合も、強制的に終了します
/open_window | タスク通知領域に格納しません（直ちに実行開始しない場合は指定不要）
/estimate | コピー完了時間予測を行います（/estimate=FALSE で抑止）
/balloon(=FALSE) | 完了時にバルーン表示を行います（/balloon=FALSE で抑止）
/no_ui | 原則として問い合わせダイアログを出しません。（バックグラウンド動作用。内部的に /no_confirm_del と /no_confirm_stop と /force_close もセットされます。セッション０分離（主にタスクスケジューラ起動）では自動的に/no_uiがセットされます。ただし終了時アクションでのカウントダウンは実スクリーンの有無に関わらず行われます）
/no_confirm_del | /delete 時に、動作開始の問い合わせをしません
/no_confirm_stop | 継続不能エラー発生時にも、エラーを出しません
/no_exec | パラメータをメインウィンドウにセットしますが、実行はしません
/error_stop | エラー発生時にダイアログを出し、続行するかを問い合わせます（/error_stop=FALSE で抑止）
/bufsize=N(MB) | バッファサイズを MB 単位で指定します
/log | ログファイル(fastcopy.log) にログを出力します（/log=FALSE で抑止）
/logfile=ログファイル名 | ログファイル名を指定します
/filelog | 詳細ファイルログを記録します。FastCopy/Log ディレクトリ配下に、日付.log という形式で保存されます。ベリファイ時はハッシュ値も記録されます。（/filelog=filename で指定ファイルに保存可能。ただし、同じファイルを指定して、同時に複数の FastCopy を実行した場合、ログ出力が交互に混じる可能性があります）
/utf8 | UTF-8でログを記録します
/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) 		速度コントロールを行います
/srcfile="files.txt | Source内容をファイルで指定します。１行に１ファイルをUTF-8で記述します。（なお、大量ファイルの指定はお勧めしません）
/srcfile_w="files.txt" | /srcfile= と同様ですが、UTF-16 で記述します（なお、大量ファイルの指定はお勧めしません）
/include="..." | Include フィルタを指定します（詳細）
/exclude="..." | 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, xxHash) による書き込みデータのベリファイを行います（/verify=FALSE で抑止）
/verifyinfo | 副次ストリーム(:fc_verify)へのベリファイ情報追記を有効にします（/verifyinfo=FALSE で抑止）
/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\"

終了ステータスについて） コマンドが成功した場合は 0、失敗した場合は -1 を返します。

8. 注意（危険なところ）

コピー先ファイルは、動作モードに応じて、問い合わせなしに、強制的に上書きすることがあります。
同期モードでは、状況に応じて、コピー先のファイル＆ディレクトリを強制削除します。
削除モードでは、ファイル＆ディレクトリを常に強制削除します。
（強制削除＝読み取り専用属性がついている場合、それをクリアしてから削除）

万一バグがあれば、悲惨な結果になる可能性があります。
（「2. ライセンス」を熟読のこと）

9. サポート掲示板＆最新版

サポート掲示板: https://groups.google.com/forum/?hl=ja#!forum/fastcopy
最新版: https://fastcopy.jp （ただし、情報が少なすぎるなどの場合、回答が付かないことがあります）

10. その他（設定保存先等）

  • 設定ファイル(FastCopy2.ini)およびログファイルは下記に作られます。
    Program Files 配下にインストールした場合、\Users\(USER)\AppData\roaming\FastCopy\（メニューのファイル(F) → UserDir(U)）。
    それ以外の場合、FastCopy.exe の存在するディレクトリ。
  • 他のアプリケーション等への組み込みについて
    作者にコンタクトしてください。
  • 万一、異常終了（例外）した場合、fastcopy_exception.log が生成されます。 （作者に送ると、品質向上のための手がかりになります）

    • 11. 履歴

    Version | 説明
v3.92 | ベリファイ用xxh3(xxHash3)計算時、CPUに応じて SSE2/AVX2/AVX512 を自動利用するように。 デフォルトベリファイをxxh3に変更（xxHashに比べて高速化）。 /time_allow=N(ms) オプションを追加。
v3.90 | ハッシュ種類にxxHash3(128bit、v0.7.3) を追加。 ベリファイ付きコピー時に、ベリファイ情報付与オプションを追加。（副次ストリーム(:fc_verify)に（ハッシュ値、コピー日時等）を追記） 32bit版で例外発生することがあったのを修正。(v3.87-v3.89のみ)
v3.89 | TOPボタンがONでない場合も最前面属性が有効だったのを修正. (v3.87-v3.88のみ)
v3.88 | 書込み先の特権不足の場合に例外発生することがあったのを修正。(v3.87のみ)
v3.87 | OSキャッシュ設定にNetDrv用を追加。 コンパイラをVS2017からVS2019に変更。
v3.86 | 「コピー・移動設定」からハードリンク再現を設定できるように（/linkdest相当）。 速度表示は MiB/s と MB/s を選択可能に。（CrystalDiskMarkに合わせたい場合などは MB/s に） FAT系 + UNICODEでしか表現できないファイル名を直接指定すると1113エラーが出る問題への対処（FindFirstFileExW APIに問題）
v3.85 | srcがリモートドライブだった場合に、稀に例外が発生することがあったのを修正。
v3.84 | 最終ファイル付近の統計情報＆ログ記録が残らないことがあったのを修正。（v3.83のみ）
v3.83 | 稀に、終了時にWaitForSingleObjectでエラーが出る問題を修正。
v3.82 | 書き込み先ファイルを非排他モードで開くオプションを追加。（コピー・移動オプション設定）
v3.81 | ファイルメニューに、ファイルログ履歴を追加。
v3.80 | Include/Excludeフィルタに絶対パス指定を追加。 Win10 LongPathAware に対応。（ファイルダイアログからも MAX_PATHを越えたファイルを選択可能に） 同一ドライブでの移動で、途中で動作が進まなくなることがあったのを修正。（v3.54以降）
v3.70 | 削除処理をマルチスレッド化することで、削除＆同期を高速化。（ネットワーク経由で2倍以上）
v3.63 | 大きなファイルが書き込み先でエラーになった場合に、エラーファイル数が2とカウントされることがあったのを修正。 iniファイルにBOMが入っても正しく読めるように。
v3.62 | ACL有効時に、管理者権限でローカルNTFS(or ReFS)間のコピーでは、DACLだけでなくSACLもコピーするように。
v3.61 | ACL/副次Streamを有効にした場合に、それらが正しくコピーされない＆例外発生する問題の修正。(v3.60のみ） インストーラ修正(Win7以前用）
v3.60 | Sourceオープンのマルチスレッド化。（ネットワークドライブで特に効果） OneDrive用WevDAVでタイムスタンプが反映するように。 NTFS以外でのハードリンク試行によるエラーを抑止。
v3.53-v3.54 | 速度コントロール指定をより正確に。 同一HDDモードの性能をわずかに改善。 シェル拡張が有効にならない問題の修正。（v3.53のみ）
v3.52 | ハッシュのデフォルトをxxHashに変更。 xxHashベリファイ計算を3～4倍高速化（1～2GB/s以上の環境でベリファイ処理ネックが解消）。 インストーラに /SILENT オプション等を追加（/hで確認）。
v3.51 | ベリファイエラー時に、.fc_verify_err へのリネームではなく、削除するオプションを追加。 include/excludeフィルターで、ディレクトリ指定とファイル指定を同じ名前を指定すると、最後の指定のみが有効になる問題を修正。 その他リファイン。
v3.50 | Source選択ダイアログで、ファイルとフォルダを同時に選択できるように。 I/Oサイズ＆重畳数を適応的に変化させることで、ネットワークドライブのパフォーマンスを向上。 （レイテンシ大の環境では、Explorerや従来版に比べて2倍以上高速に） 最小化時、タスク通知領域にアイコンが隠れる場合はタスクバーに表示するように。 エラー時の終了コードが0（正しくは-1）になっていた問題の修正。 設定類の改良（最小化時の動作の追加、シェル拡張の移動等） インストーラ方式に変更し、インストーラに「ファイル展開（のみ）」を追加。 例外時にダンプも出力するように。 「アプリと機能」からも、アンインストールできるように。 完了状態をアイコン上部の色でも表現（緑：完了、赤：エラー）。 公式ホームページを https://fastcopy.jp に変更。
v3.41 | I/O関連パラメータと設定方法を変更し、特にネットワークドライブでのパフォーマンスを向上。 起動時の自動アップデートチェックの追加（設定→その他、から変更可能）。 削除モードで、コピーモード用オプションが表示されることがあったのを修正。 削除時の「ディレクトリが空でない」エラーが稀に発生していたのを低減（OS側の問題への暫定対処）。 2つ以上の物理HDDを使ったボリュームの、同一/別ドライブ判定が不正確だったのを修正。 その他リファイン。
v3.40 | アップデート機能（メニュー → ヘルプ → アップデート確認）の追加。 Source入力欄を複数行表示可能にし（セミコロンではなく）改行で複数ファイルを表現する形に。 予測時間の精度を向上（Sourceに加えて、Destも事前探索する形に）。 Sourceボタンの初期動作をファイル選択画面に変更（設定→その他、から変更可能）。 LargeFetch機能の無効化を選択可能に（設定→I/O設定）。
v3.32 | 非日本語環境で、Aboutダイアログを開くと例外が発生していたのを修正。 /srcfile_w= で指定したファイルのBOMを正しく認識できていなかったのを修正。
v3.31 | メインバッファ初期サイズを拡大（x64:128MB→256MB、x86:64MB→128MB）。 最大属性バッファを拡大（x64:1GB→8GB）。 ベリファイ＆移動用パスバッファを拡大（x64:8MB→128MB）＆ini設定可能に(max_movesize/max_digestsize) 日付判定での許容誤差指定(ms単位)を64bit化（最大23日 → 事実上無制限） ネットワークファイルでも、巨大ファイルはNOBUFFERING扱いに。 /srcfile=, /srcfile_w= でBOMを許容するように。 転送バッファ分割の改善。 インストーラにおける、DLLプリロード攻撃対策。
v3.30 | ベリファイモード選択にxxHashを追加。 テスト用ファイル作成モード設定を追加（[読み込みなしでの]非同期I/Oを使った書き込み速度テスト＆ダミーファイル作成）。 前方一致フィルタで、深さの違うフィルタ指定を複数行うと最も深い指定のみ利用される問題を修正。 ネットワークドライブの同一判定を間違えることがあったのを修正。 ジョブ登録では、バッファ設定を個別保存しないポリシーに変更。 その他リファイン

    Version | 説明
v3.00 - v3.27 | 非同期I/Oサポート、フィルタ相対パス、同時実行動作の最適化、GPLv3 に変更 ユーザレベル（非管理者）でのシェル拡張を可能に。 ディレクトリ探索の高速化（高レイテンシ環境or大規模エントリ用。FIND_FIRST_EX_LARGE_FETCH利用）。 ベリファイモード選択にSHA-256を追加。 テスト用ファイル作成モード設定を追加（[読み込みなしでの]非同期I/Oを使った書き込み速度テスト＆ダミーファイル作成）。
v2.00 | ジョブ管理、Symlink対応、簡易比較、ACL/AltStremサポート、速度コントロール追加等
v1.00 | 移動モード、シェル拡張追加、英語OS対応等
v0.50 | α版ファーストリリース。 (2004/09/27)


FastCopy Help (en)

FastCopy ver3.92

2020/08/02 H.Shirouzu and FastCopy Lab, LLC.

Index

1. About
2. License
3. Environment
4. Installation
5. Usage & Main Window
1) Source/DestDir
The end of DestDir is '\' or not
2) Operation mode
3) Button & Options
4) Filters
5) Junction & Misc
6) Menu items
6. Settings
1) Main Settings
2) Shell Settings
3) Post-Process
4) Job Management
7. Command Line
8. Warning
9. Support Forum/Latest Version
10. Misc (setting file, etc.)
11. 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 HDD | Reading and writing are processed respectively in parallel by separate threads.
Same HDD | Reading 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)

ver3.0 or later, FastCopy's settings file has been renamed from FastCopy.ini to FastCopy2.ini.

2. License

FastCopy ver3.x Copyright(C) 2004-2020 by SHIROUZU Hiroaki and FastCopy Lab, LLC.

This program is free software. You can redistribute it and/or modify it under the GNU General Public License version 3.
license-gpl3.txt
(Due to various circumstances, distribution of the source code is temporarily suspended ... Please use FastCopy as freeware with no guarantee)

xxHash Library Copyright (c) 2012-2020, Yann Collet All rights reserved.
License details.

3. Environment

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

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

Mode | Detail
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.
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.
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.)
Delete | Delete all files/dirs forcibly.

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/xxHash). (If you want to use MD5/SHA-1/SHA-256/xxHash, it can be selected in Copy/Move Options of settings.) Action detail: Read(Src) → xxHash(Src) → Write(Dst) → Read(Dst) → xxHash(Dst) → Compare xxHash(Src/Dst) (All actions are processed in parallel as much as possible) 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 it instead of renaming)
VerifyInfoList | (Shown while pushing CTRL key) Enumerates files that contains the AltStream(:fc_verify) under the Source and show its contents. (=The AltStream is added with verified-copy if "Add VerifyInfo" option is enabled.) If you want to check VerifyInfoList immediately after verified-copy, it requires to use Settings → Swap Source ⇔ DestDir, because VerifyInfoList checks under the "Source" (not DestDir). (If pushing Shift key in addition, this list will also be written in the file log.)
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
Source | C:\dir\
Include | subdir[1-9]\xxx\
Match examples | C:\dir\subdir2\xxx\ C:\dir\aaa\subdir3\xxx\
Effect | Matched directories and all under them will be copied.
Example of the file Include
Source | C:\dir\
Include | subdir[1-9]\file.*
Match examples | C:\dir\aaa\subdir2\file.txt C:\dir\bbb\ccc\subdir3\file.doc
Effect | Matched 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
Source | C:\dir\
Include | \subdir[1-9]\xxx\
Match examples | C:\dir\subdir2\xxx\ C:\dir\subdir3\xxx\
Effect | Matched directories and all under them will be copied.
Note (unmatch example) | C:\dir\aaa\subdir2\xxx\ ... different hierarchy.
Example of the file Include
Source | C:\dir\
Include | \subdir[1-9]\file.*
Match examples | C:\dir\subdir2\file.txt C:\dir\subdir3\file.doc
Effect | Matched 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.
Absolute | Specify "YYYYMMDD[hhmmss]"(year/month/day/hours/minutes/seconds). ex) "20090322" or "2016/09/26 12:30:56"
Relative | Specify "+|- 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.
Mode | Details
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

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.

Menu items

File

Open Log | Open 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 Dir | Open the user directory of FastCopy
Save as Init Pos | Save position as initial FastCopy window.
Save as Init Size | Save size as initial FastCopy window
Always &Top Most | Always display at the top most
Close | Close FastCopy

Help

Help | Show this help
Check Update | Access https://fastcopy.jp/fastcopy-update.dat and check to require to update.
Support Forum | Questions/Opinions about FastCopy
Latest Version | Open FastCopy WebPage
About FastCopy | Show Version and Copyright

Elevate

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

Other menu items

JobMng Settings

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 Window | The detail is this.
Language | Change Language. (need to restart)

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 Num | I/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)
MinSectorSize is regarded as 4KB | If destination drive are 512B sector HDD that has mounted 4KB sector HDD, please check this.

OS Cache settings
Use OS buffer for reading | It does not use DirectI/O. OS is likely to be slow/heavy, it can not be recommended.
Use OS buffer for writing | It 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.

Drive Group

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
About | Specify same physical drive group.
Format | If C: and D: are the same physical HDD, and E: and F: are the same, please specify "CD,EF" If you use UNC path, you can assign the drive letter for UNC or specify set decision policy below.

Physical drive group decision policy of network drive
Details | Network 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 group | If 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 group | All 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.

Copy/Move Options

Copy/Move 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)
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"
Tolerance at the timestamp comparison | Specify 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.
(*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".

Verify Options

Verify options
Hash mode (for verify) | Select Hash mode (xxHash/MD5/SHA-1/SHA-256/xxHash3) for verifying.
If a verify error occurs, delete the file instead of renaming to .fc_verify_err | (Same as left)
Add VerifyInfo | The 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 is displayed in the main window when you press the Ctrl key, which is called "VerifyInfoList, which can be read by You can.

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/DestDir | need to restart FastCopy
Write to Error log | Logging error message to FastCopy.log
Use UTF-8 in Errlog | Using UTF-8 character in FastCopy.log. Otherwise using MBCS.
Write to File Log Creating Log\(date).log and logging to all copied/deleted/error files.
FileDate | Logging file timestamp
FileSize | Logging file size
Write ACL errors to Error Log | Sometimes, many errors will occur in non NTFS (Samba, or etc.)
Write AltStream errors to Error Log | Sometimes, many errors will occur in non NTFS (Samba, or etc.)

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

Misc

Misc settings.
Update check at startup | Check latest version and automatic update
Confirm before executing | Confirming
Use MB/s instead of MiB/s notation | Use MB/s instead of MiB/s notation (MB/s will be 4.8% greater than MiB/s)
Info Update Span | Information Update Span can be specified.
Balloon Notification at the finish | Enable balloon notification at the finish, if it is minimized.
Prevent auto sleep during copying | Prevent 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

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 →...)

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.
Post-Process Window
ActionName | By default, Normal/Standby/Hibernate/Shutdown are ready. New actions can be created.
Play Sound | Play sound at finish Only play, if error occurred option is available.
Execute command | Specify 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.
Shutdown/Standby
Before 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.
Grace | The count-down time can be specified.
Don't execute, if error occurred. | execute only if succeeded

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)

7. Command Line

A basic format is as follows.

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

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 "start /wait ..." command.
Ex) start "" /wait FastCopy.exe [/options]...

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

/cmd=
(noexist_only
| diff
| update
| force_copy
| sync
| move
| delete) 		Specify operation mode. (By default, diff mode is used.
If delete mode is specified, then "/to=desit_dir" is not used.)
cmdline | in GUI
noexist_only | Diff (No Overwrite)
diff | Diff (Size/date)
update | Diff (update)
force_copy | Copy (Overwrite)
sync | Sync (Size/date)
move | Move (Overwrite)
delete | Delete
/auto_close | Close automatically after execution is finished with no errors.
/force_close | Close automatically and forcibly after execution is finished.
/open_window | It will not be stored in the task notification area.
/estimate | Estimate complete time.(to disable, /estimate=FALSE)
/balloon(=FALSE) | Show balloon notification at finish. (to disable, /balloon=FALSE)
/no_ui | Dialog 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_del | Don't confirm before deleting.
/no_confirm_stop | Don't show error dialog, even if critical errors occur.
/no_exec | Don't start to execute.
/error_stop | Show 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.
/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 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, /skip_empty_dir=FALSE)
/job=job_name | Specify 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.
/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_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)
/time_allow=N(ms) | Specify tolerance timestamp difference(ms) as same date in Diff(Date/Size) or Diff(Newer).
/wipe_del | Rename filename and wipe(overwrite Random data) before deleting.
/acl | Copy ACL/EA (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 xxHash3(MD5/SHA-1/SHA-256/xxHash) (to disable, /verify=FALSE) (details)
/verifyinfo | Enable VeriyInfo to the AltStream (:fc_verify) option (to disable, /veriyinfo=FALSE)
/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 FastCopy2.ini.
/postproc=action_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\"

Exit status code) Command is succeeded: 0, or failed: -1

8. 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)

9. Support Forum/Latest Version

Support Forum: https://groups.google.com/forum/#!forum/fastcopy-bb-eng
Latest Version: https://fastcopy.jp/en/

10. Misc

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
Contact to the author.

If FastCopy terminated abnormally, fastcopy_exception.log is generated.
(Please send this file to the author, I will use it for quality improvement)

11. History

Version | Detail
v3.92 | At verifying with xxh3(xxHash3), SSE2/AVX2/AVX512 mode is automatically used depending on your CPU. Change the default verify to xxh3 (faster than xxHash). Add /time_allow=N(ms) option.
v3.90 | Add xxHash3(128bit, v0.7.3) item for verify option Add VerifyInfo option. (the AltStream(:fc_verify) that contains hash-value/copy-date/etc, it is added at completion of the verified copy) Fixed an exception in 32bit ver. (v3.87-v3.89 only)
v3.89 | Remove TopMost attribute of the Main Window. (v3.87-v3.88 only)
v3.88 | Fixed an exception may occur when the privilege of the destination is insufficient.(v3.87 only)
v3.87 | Add NetDrv(Network Drive) mode in the OS Cache settings. Change compiler(VS2017 to VS2019).
v3.86 | Add Reproduce hardlink option in the Copy/Move options of the settings dialog. Add option of using MB/s instead of MiB/s (For example, if you want to match a CrystalDiskMark, use MB/s) Fixes the 1113 error when specifying a file name that cannot be represented by MBCS in FAT-FS.(FindFirstFileExW API Problem)
v3.85 | Fixed a rare exception when src was a remote drive.
v3.84 | Fix sometimes missing stat/log near the last file. (vv3.83 only)
v3.83 | Fixed a rare WaitForSingleObject Error at exit.
v3.82 | Add non-exclusive open for Destination files option. (Copy/Move Option Settings).
v3.81 | Add FileLogHistory item in the File Menu.
v3.80 | Add absolute path mode in Include/Exclude filter. Support Win10 LongPathAware. (It can be selected over MAX_PATH files/dirs in the FileDialog). Fixed an issue that caused the process to stop in the same drive move mode. (v3.54 or later)
v3.70 | Speed up delete/sync by multi-threading deletion processing. (More than twice faster via network)
v3.63 | Fix error counter. (When a large file couldn't be written to dest, it was incorrectly counted twice) Enable to load fastcopy2.ini that contains BOM.
v3.62 | Extend ACL option. (Not only DACL but also SACL will be copied, if it is copied between the local NTFS/ReFS Drive with Admin mode)
v3.61 | Fixed an issue that when ACL/AltStream is enabled, they are not copied correctly. (v3.60 only) Fix Installer(Win7 or earlier)
v3.60 | Add multi-threading for opening source files. (Big effect for network drive) Fix to reflect timestamp for WevDAV(for OneDrive). Prevent hardlink errors for non NTFS drive.
v3.53-v3.54 | Speed control designation more accurately. Slightly improved performance in the same HDD mode. Fixed problem that shell extension does not work. (v3.53 only)
v3.52 | Change hash default to xxHash. xxHash 3 to 4 times faster verification calculation speed (Eliminate verification processing neck in 1 ~ 2 GB/s or more environment). Add /SILENT options etc to the installer (check with /h option).
v3.51 | Add verify error behavior option (deleting error-file instead renaming to .fc_verify_err). Fix include/exclude filter problem. (if same dir and file names was specified in the filter, only last same name entry was enabled). Misc refine.
v3.50 | In the Source selection dialog, it can be selected files and dirs simultaneously. Improved network drive performance by adaptively changing the I/O size and async I/O issue number. (With a high latency network drive, it is twice or more faster than Explorer and older version) When minimizing, if the icon is hidden in the task notification area, display it on the task bar. Fixed the exit code did not become -1 on error. Improve settings (add actions at minimized, shell extensions, etc.) Change to 1 file installer and add "Expland" button to installer. Output a dump at exception. To be uninstallable via "application and function". Represent the completion status in the color at the top of the icon.(Green: complete, red: error) Changed the Official website to https://fastcopy.jp/en/.
v3.41 | Modify I/O parameters and improve performance for network drive Add update check at startup. (It can be changed in Settings → Misc) Fix not to show copy mode option when delete mode is selected. Reduce the occurrence of the"Not empty" error when directories are deleted. (OS is the cause) Fix incorrect same/different drive judgement for the volume using two or more physical HDDs. Misc refine.
v3.40 | Add Update Check (Menu → Help → Check Update). Support multi-line input in Source Edit Control. Improve estimating precision. (Investigate not only source but also destination) Change default action of Source button. (It shows FileSelection Dialog as default. It can be changed in Settings → Misc) Support to enable/disable Large Fetch option. (Settings → I/O Settings)
v3.32 | Fix an exception that occurred when opening the AboutDialog. Fix to interpret BOM that is specified by /srcfile_w option.
v3.31 | Increase initial main buffer size(x64:128MB → 256MB, x86:64MB → 128MB). Increase maximum attributes buffer size (x64:1GB → 8GB). Increase path buffer size for verify/move (x64:8MB → 128MB) and configurations can be made by fastcopy2.ini (max_movesize/max_digestsize). Change setting tolerance of timestamp(ms) to 64bit (max 23days → unlimit). Use NOBUFFERING flag even if it is a network file when the file is big. Allow BOM in the specified files by /srcfile= or /srcfile_w= options. Improve buffer separation policy. Take a measure for DLL preload attack.
v3.30 | Add xxHash option for verify. Add file creation mode (experimental). Fixed a problem that only the deepest filter was used if multiple filters with different depth were specified. Fix same/diff network drive detection. Misc refine.
Old versions summary (detail information is this)
Version | Detail
v3.00 - v3.27 | Overlapped I/O, Relative path filter, Optimize for parallel running, Change license to GPLv3 Support UserMode(not Admin) Shell Extension. Improve speed for listing directory entries. (using FIND_FIRST_EX_LARGE_FETCH for high-latency environment or huge number of directory entries) Add SHA-256 to Verify Mode
v2.00 | JobMng, Interpret Symlink, Simple compare, ACL/AltStrem, Speed Control
v1.00 | 1.00 release (2005/03/10)
v0.50 | First alpha release (2004/09/27)


xxHash Library
Copyright (c) 2012-2020, Yann Collet
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

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

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.