FastCopy Help

FastCopy ver5.3.0

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

Index

1. 概要
2. ライセンス
3. 動作環境
4. インストール・アンインストール
5. 使用法 & 画面説明
1) Source/DestDir
  DestDir末尾の'\'の意味
2) 動作モード
3) ボタン & オプション指定
4) フィルタ指定
5) ジャンクション・他
6) メニュー項目
6. 設定
1) 一般設定
デフォルト設定
I/O設定
ベリファイオプション
ドライブ設定
同時実行
CPU設定
コピー関連オプション
移動・同期オプション
削除関連オプション
ログ設定
シェル拡張
最小化時の設定
その他
2) 終了時処理
3) フォント設定
4) ジョブ管理
5) ライセンス管理
7. コマンドラインモード
8. FcHash.exe
9. 注意（危険なところ）
10. サポート掲示板 & 最新版
11. FAQ（よくある質問）
12. 履歴

1. 概要

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

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

Read/Write も、OS のキャッシュを全く使わないため、他のプロセス（アプリケーション）が重くなりにくくなっています。
可能な限り大きな単位で Read/Write するため、デバイスの限界に近いパフォーマンスが出ます。
Include/Exclude フィルタ（UNIXワイルドカード形式）が指定可能です。
MFC 等のフレームワークを使わず、Win32API だけで作っていますので、軽量＆コンパクト＆軽快に動作します。

2. ライセンス

（職場等でお使いの方は Pro版ライセンス購入 が必要となります）
FastCopy利用許諾契約 (EULA)

1. （利用許諾）このソフトウェアは、職場等の非家庭環境で使う場合、Pro版ライセンスが必要となります。家庭内の個人（非営利）として使う場合のみ、無償で使うことができます。
2. （免責）FastCopy Lab, LLC. により「あるがままの状態」で提供され、いかなる瑕疵に対しても対応責任及び賠償責任を負いません。
3. （リバースエンジニアリングの禁止）いかなる方法でも、リバースエンジニアリングを禁止します。
4. （譲渡禁止）Pro版ライセンスを第三者に貸与、譲渡、サブライセンスすることを禁止します。

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

Pro版と他のバージョンとの比較表

（Pro版ライセンスキーを登録することでPro版に自動変化します）
 | Pro版 | 通常版 | 旧版(v4.x)
職場でのご使用(*1) |  |  |
完全ベリファイ機能 |  |  |
サイレントデータ破壊検査 |  |  |
ご家庭でのご使用 |  |  |
Win11用シェル拡張 |  |  |
さらなる高速化 |  |  |
特権時の高速化 |  |  |
CPUアフィニティ |  |  |
v4/v5以降のBugfix |  |  |
(*1) 2週間のお試し利用期間を除きます。
利用ライブラリのライセンス
xxHash Library Copyright (c) 2012-2023, Yann Collet All rights reserved.
ライセンス詳細はこちら。
OpenSSL Library Copyright (c) 1998-2022, The OpenSSL Project All rights reserved.
ライセンス詳細はこちら。

3. 動作環境

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

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

インストール

FastCopy5xx_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の中身)" となります。

動作モード

モード | 動作内容
差分（上書きなし） | 同じファイル名がある場合、コピーしません。
差分（サイズ・日付） | 同じファイル名がある場合、サイズもしくは日付が違う場合のみ、コピーします。（デフォルト）
差分（最新日付） | 同じファイル名がある場合、日付が新しい場合のみ、コピーします。
コピー（全上書き） | 常に上書きコピーします。
同期（サイズ・日付） | 同じファイル名がある場合、サイズもしくは日付が違う場合のみ、コピーします。 さらにコピー元に存在しない、コピー先ファイル（＆ディレクトリ）をすべて強制削除します。
移動（全上書き） | 上書きコピーした上で、コピー元を全削除します。 （一般設定→「コピー・移動設定」にて「移動（サイズ・日付）」に変更することができます）
移動（上書きなし） (Pro版のみ) | コピー先に存在しないファイルのみコピーします。コピーしたファイルのみコピー元から削除します。 （コピーされないファイルは削除されません）
全削除 | 指定されたファイル（＆ディレクトリ）を全て強制削除（＝読み取り専用属性がついたファイルも属性をクリアした後、削除）します。
ベリファイ | Source と DestDir でサイズとタイムスタンプの一致するファイルについて、相互ハッシュ比較を行います。 （注意:Source と DestDir はちょうどコピーする場合と同じ記述にしてください。C:\temp\ と D:\temp\ を比較したい場合、Source に C:\temp\、DestDir に D:\ と記述してください）
FCベリファイ情報表示 | FCベリファイ情報（:fc_verify)を持つファイルについて、その記録情報を表示します
FCベリファイ情報検証 (Pro版のみ) | FCベリファイ情報（:fc_verify)を持つファイルについて、その記録情報と現在のハッシュ値を再計算＆比較することで、サイレントデータ破壊が発生していないかを検証します
（「リストアップ」において、Shiftキーを押しながらボタンを押すとファイルログにも記録されます）

ボタン & オプション指定

実行 | コピー動作を実行します。実行中は、中断...ボタンに変化します。 ・CTLキーを押しながら実行を押すとソース一覧が表示された確認ダイアログが出てきます。
リストアップ | コピー＆削除される（予定の）ファイルを、リストアップして表示します。頭に '+' は作成・更新され、'-' は削除されます。 ・CTLキーを押しながらリストアップを押す（ボタン名「リストアップ」→「リストアップ+V」）と、スキップ対象（ただしフィルタ除外は除く）のファイルペアについて、読み込み＆ハッシュ値比較を行います。 ・SHIFTキーを押しながらリストアップを押すと（ログ設定でファイルログを有効にしている場合）リストアップ内容がファイルログに記録されます。（ログ設定でファイル日付・サイズ記録オプションを設定している場合、それらも表示・記録されます）
Buffer 指定 | Read/Write に使う、バッファサイズを表示します。クリックすると設定が表示されます
速度コントロール | 最大(Full Speed)、自動速度制限(Auto Slow)(*1)、速度指定(90%～10%)、停止(Suspend) を指定することができます。重いと感じる場合は「自動速度制限」を試すと良いでしょう（マウスや最前面ウィンドウの変化を検知すると、一定時間、遅くします）。また「最大」以外の場合は、プロセス優先度クラスを「低」に落とします。（ジョブ管理での保存項目対象にはなりません）
エラー時継続 | Read/Write/Delete等で、エラーが発生しても、中断せず、可能な限り動作を続けます。 （ただし、エラー表示欄やエラーログには残ります）
ベリファイ | xxHash3 (MD5/SHA-1/SHA-256/SHA-512/xxHash) による書き込みデータのベリファイを行います。 （MD5/SHA-1/SHA-256/SHA-512/xxHash を利用する場合は、設定のベリファイ関連から変更できます。 従来ベリファイ（Destのみ再読み込み）とPro版での完全ベリファイ（Src/Destを両方再読み込み）があります。 （完全ベリファイは Src読み込み時のテンポラリエラーも異常検出が可能となります） ベリファイエラーが発生した場合、コピー元・先のハッシュ値を表示した上で、コピー先のファイル名に.fc_verify_errを付与したものに変更します。 （設定で、削除や他の動作にすることもできます）
予測 | コピー開始前に、総ファイル数・総ファイルサイズを調べることで、完了時間を予測します。 （なお、削除モードでの予測はできません。また、移動モードの場合、削除時間は予測に含んでいません）
直ちに開始 | 他の 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-update2.dat にアクセスして、アップデートが存在するか問い合わせます。
サポート掲示板 | FastCopy関連の質問や提案をする掲示板です
最新版URL | FastCopyのホームページを開きます
FastCopyについて | バージョン & 著作権を表示します

特権

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

上記以外の項目

ジョブ管理(J) 設定(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を使いません）
常時Low IOを利用 | 他のアプリに I/O を優先させます。（Vista以降の Low Priority I/O を使用）

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

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

ベリファイオプション

ベリファイオプションです。
ベリファイ方式 ベリファイ方式を選択します
従来ベリファイ | 書き込み後、dest を読み直してベリファイします。
完全ベリファイ （Pro版のみ） | 書き込み後、src と dest を両方読み直してベリファイします。 src読み込み時のテンポラリエラーも異常検出できるようになります。

ハッシュ方式（ベリファイ用） ベリファイ用ハッシュ方式(xxHash/MD5/SHA-1/SHA-256/SHA-512/xxHash3)を選択します
（推奨は xxHash3 です）
ベリファイエラー時（のアクション） 下記の4つから選択します。
(ファイル名).fc_verify_err にリネーム
ファイルを削除
タイムスタンプを1980-01-01に変更
何もしない
ベリファイ情報を付与 ベリファイコピーが完了した時点で、副次ストリーム(:fc_verify)に下記を記録します。
（コピー後の経年データ破壊（サイレントデータ破壊）の検出などにお使いください）

{done=完了日時, ftime=ファイル日時, size=サイズ, xxHash=ハッシュ値}
なお、ベリファイエラーの場合、下記の形になります
{error=完了日時, ..., xxHash(src=ハッシュ値, dst=ハッシュ値)}

なお、この情報は「FCベリファイ情報表示」「FCベリファイ情報検証」により表示＆検証できます。
ベリファイしない場合、
srcのハッシュ値をファイルログに記録 		（左に同じ）

ドライブ設定

常に並列動作させるドライブ（SSD-RAIDなど）
概要 | SSD-RAIDのように並列動作させた方が速度が出るドライブを指定します。常に別HDDモードとして動作します。また複数のFastCopyを動作させた場合も待ち合わせしません
指定方法 | C:とE:がSSD-RAIDの場合、"CE" と指定します。 なお、UNCパス名のドライブはドライブレターを割り当ててください

同じ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利用を無視して、常に無条件に即実行します

CPU設定

CPU関連の設定です。
CPUアフィニティ ReadスレッドやWriteスレッドを論理CPUコアに固定するかを決めます。
Read/Writeスレッドを論理CPUコアを紐づけることで、I/O性能が向上します。
（複数のFastCopyを同時動作させた場合、なるべくお互いの割り付けが被らないように自動で分散されます）

コピー関連オプション

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

移動・同期オプション

移動・同期設定です。
移動設定
「移動（全上書き）」を「移動（日付・サイズ）」 に変更 | 移動先に日付・サイズが同じファイルがある場合、コピーすることなく移動元から削除します
移動を逐次方式に | 通常は移動予定リスト（数千～数万ファイル）が一杯にならない限り、コピー元の削除を始めませんが、これをチェックするとファイルコピー終了毎に終わり次第（なるべく）即座にコピー元を削除します
移動（ベリファイ時） | 上と同じ動作ですが、ベリファイが終わり次第、となります

同期設定
コピー前に削除を実行 コピー元に存在しないファイル及び、上書きコピーされるファイルを事前に削除した後、コピーを開始します。（ディレクトリ走査が、削除用とコピー用で2回走るため、ファイル数が多い場合は若干遅くなります）

削除関連オプション

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

ログ設定

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

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

シェル拡張

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

最小化時の設定

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

その他

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

設定 → 終了時処理

終了時処理を選択します。標準、スタンバイ、休止、シャットダウンがデフォルトで用意されています。
「追加/変更/削除…」を選ぶと、サウンド設定やコマンド実行など新しい終了時処理を追加が可能な「終了時処理ウィンドウ」が表示されます。
終了時処理ウィンドウ
処理名 | 標準、スタンバイ、休止、シャットダウンが標準で用意されています。 新たな名前の終了時処理を作ることも可能です
サウンド再生 | 終了時に再生します。 「エラー発生時のみ実行する」も選べます
スタンバイ/ シャットダウン 処理の概要 | シャットダウン/スタンバイ/ハイバネーション処理は、動作前に60秒のカウントダウン表示があり、途中キャンセルも可能です。 また、他の FastCopy が処理中の場合、その完了を待ってから60秒のカウントダウンが始まります。 「猶予」…実行までのカウントダウン秒数を変更できます（標準60秒） 「エラー発生時には実行しない」…正常終了時のみ実行します
コマンド実行 | 終了時に実行するコマンドを指定できます。 メール送信ソフトと組み合わせると有用かもしれません。 「実行条件」として、無条件/正常終了時/エラー終了時、のいずれかを選択できます。 「完了を待つ」をチェックするとコマンドが終了するまで、「シャットダウン/スタンバイ/ハイバネーション」処理に移行しません。
WebHook通知 （Slack等への完了通知） | 「WebHook通知を実行する」…WebHookを実行して、Slack等に完了通知（ログ相当）を送ります。 （Slackの場合、WebHookの詳細はこちらをご覧ください） 「エラー発生時のみ実行する」も選べます。
WebHook用パラメータ （共通） | WebHookのためのパラメータ類を設定します。この設定は、全ての終了時処理で共通です。 「WebHook URL」…WebHookを発行するURLを記述します。 「POSTデータを記述」…POSTする中身を記述します。なお $(body) と記述すると実際のログに置換されます。 「テスト」…WebHook通知の実行テストを行います。

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

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

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

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

設定 → 拡張フィルタ表示

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

設定 → 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側にはありません）

ライセンス管理

ライセンス管理（オンライン）
ライセンスキー | https://fastcopy.jp/pro/ からライセンス購入すると、購入完了メールにライセンスキーが記述されていますので、それをコピーします
認証 | ライセンスキーを入力後、この「認証」ボタンを押して認証（アクティベーション）を完了させます。 これ以降 Pro版機能が使えるようになります。
別マシン移行/解放 | すでに認証されているマシンから、別PCに移行する or ライセンスを開放したい場合に実行します。 これ以降、このマシンでPro版機能を使えなくなりますのでご注意ください。
オフライン・モードへ | ネットワークに繋がっていない環境用画面に移動します

ライセンス管理（オフライン）
アクティベーションキー | ネットワークに繋がっているマシンを使い、https://fastcopy.jp/pro/activate にアクセスして、ライセンス購入で得られたライセンスキーと（この画面に表示されている）マシンIDと入力して得られる、アクティベーションキーを入力します。
認証 | アクティベーションキーを入力後、この「認証」ボタンを押して認証（アクティベーション）を完了させます。 これ以降 Pro版機能が使えるようになります。
別マシン移行/解放 | すでに認証されているマシンから、別PCに移行する or ライセンスを開放したい場合に実行します。 実行して得られた「ディアクティベーション文字列」をコピーして、ネットワーク接続されたマシンから、 https://fastcopy.jp/pro/deactivate にアクセスして、ディアクティベーションを完了させます。 これ以降、このマシンでPro版機能を使えなくなりますのでご注意ください。 （万一、間違えてディアクティベーションした場合、もう一度、アクティベーション手順を実行してください）
オンライン・モードへ | ネットワークに繋がっている環境用画面に移動します

ライセンスキーの利用状況は https://fastcopy.jp/pro/license_summary から確認可能です。

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

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

通常版: fastcopy.exe [/オプション類] [file1 file2 ...] [/to=dest_dir]
CUI版: fcp.exe [/オプション類] file1 [file2 ...] /to=dest_dir
（fcp.exe は start "" /wait fastcopy.exe としていた場面でお使いください）

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

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

/cmd=
(noexist_only
| diff
| update
| force_copy
| sync
| move
| move_noexist
| delete
| verify
| verify_read
| verify_check) 		動作モード指定。（cmd 指定省略時は diff モード。delete/verify_read/verify_check 指定時は、/to=dest_dir は使いません）
cmdline | GUIでの表記
noexist_only | 差分（上書きなし）
diff | 差分（サイズ・日付）
update | 差分（最新日付）
force_copy | コピー（全上書き）
sync | 同期（サイズ・日付）
move | 移動（全上書き）
move_noexist | 移動（上書きなし）
delete | 全削除
verify | ベリファイ
verify_read | FCベリファイ情報表示
verify_check | FCベリファイ情報検証
/auto_close | コピー終了後、自動的に終了します
/force_close | コピー終了後、エラーが発生していた場合も、強制的に終了します
/open_window | タスク通知領域に格納しません（直ちに実行開始しない場合は指定不要）
/estimate | コピー完了時間予測を行います（/estimate=FALSE で抑止）
/balloon | 完了時にバルーン表示を行います（/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 を実行した場合、ログ出力が交互に混じる可能性があります）
/skip_empty_dir | フィルタ指定時、空ディレクトリをコピーしません（/skip_empty_dir=FALSE で抑止）
/job=ジョブ名 | 事前に登録してあるジョブを指定します
/force_start(=N) 他の FastCopy がコピー実行中の場合も直ちに実行します。
（/force_start=2～N で同時実行上限数指定）
/disk_mode=
(auto|same|diff) 		自動/同一/別HDDモードを指定します。（デフォルト: auto）
/speed=(full|autoslow|
9-1(90%-10%)|suspend) 		速度コントロールを行います
/low_io | 他アプリのIOを優先します（=FALSE で抑止）
/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, SHA-512, xxHash) による書き込みデータのベリファイを行います（/verify=FALSE で抑止）
/verifyinfo | 副次ストリーム(:fc_verify)へのベリファイ情報追記を有効にします（/verifyinfo=FALSE で抑止）
/dlsvt=(none|auto|always) | 夏時間の誤差許容を指定します (詳細)
/linkdest | ハードリンクを可能な限り再現します。詳細は こちらを参照 ください。
/recreate | ファイル更新の挙動を、既存ファイルの上書きから、既存ファイル削除＆再生成に変更します。（/linkdest 指定時には、/recreate指定の有無に関わらず、この動作を行います）常時、この動作を有効にしたい場合、fastcopy2.ini [main] recreate=1 にします。
/postproc=終了時処理名 | 事前に登録してある終了時処理名を指定します。（/postproc=FALSE で抑止）

例） C:\test 配下を D:\Backup Folder に差分コピーする場合
C:\> fastcopy.exe /cmd=diff C:\test /to="D:\Backup Folder\"
終了ステータスについて） コマンドが成功した場合は 0、失敗した場合は -1 を返します。

8. FcHash.exe

高速にハッシュ計算を行うコマンドラインです。
  FcHash.exe [options] file1(or dir1) [,file2...]

オプション | 内容
--(xxh|xxh3|md5|sha1|sha256|sha512) | ハッシュ種類（Default: xxh3）
--recur(sive) | ディレクトリを再帰的に処理
--non_stop | エラーを無視
--use_cache | OSキャッシュを使う

例）
C:\> fchash --sha256 C:\
C:\ :
sha256 <180a0d4144b44fc54acc9345a1453a32064ce8329ed387f4bf5faad1d7bc883a>: bootmgr
sha256 <6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d>: BOOTNXT

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

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

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

10. サポート掲示板 & 最新版

サポート掲示板: https://github.com/FastCopyLab/FastCopy/issues
最新版: https://fastcopy.jp

11. FAQ（よくある質問）

Q. 設定ファイル(FastCopy2.ini)およびログファイルの場所
Program Files 配下にインストールした場合、\Users\(USER)\AppData\roaming\FastCopy\（メニューのファイル(F) → UserDir(U)）。
それ以外の場合、FastCopy.exe の存在するディレクトリ。

Q. DestDir がドライブルート(D:\など)の場合に、追加サブディレクトリなしにコピーしたい
ドライブルート(D:\ 等）の末尾 \ は削除できません（エラーになります）。この場合、Source側に * を付けます。たとえば C:\src の場合、C:\src\* とします。

Q. タスクスケジューラから起動すると遅い
Windows はタスクスケジューラから起動したプロセスを 強制的に Low Priority I/O にするためです。
これを回避するには、タスクスケジューラにてタスクを選んでエクスポートしてから一旦削除、その中の <priority>7</priority> という設定を 5 かそれ以下に変更してインポートします。（参考： taskscheduler priority xml で google検索）

12. 履歴

Version | 説明
v5.3.0 | 「移動（上書き無し）」モードの追加（Pro版のみ）。 その他リファイン。
v5.2.6 | xxHashを最新(v0.8.2)に更新。 中文改良。 "Program Files"にインストール出来ない問題の修正（v5.2.5のみ）。
v5.2.4 | 一部環境で例外が発生することがあったのを修正。
v5.2.3 | 1ディレクトリ直下に大量ディレクトリ（数百万以上）ある場合に、例外が発生することがあったのを修正。 ベリファイ中のI/Oエラーで、例外が発生することがあったのを修正。
v5.2.0 | 簡体中文をサポート。
v5.1.1 | 動作中でも、トレイアイコンのステータスを変化させるように。 情報更新は 1秒 → 0.5秒をデフォルトに変更（設定→その他、から変更可能）。
v5.1.0 | Include/Excludeフィルタ用複数行エディタの追加。 Win11用シェル拡張の挙動改善。
v5.0.2 - v5.0.5 | ベリファイ時の時間予測を改善。 設定画面で、領域事前確保モードが保存されない問題の修正。 一部のWin11環境で、旧コンテキストメニューに余分なエントリ表示があったのを修正。（再ログインが必要な場合あり） サイトライセンスの追加。
v5.0.0 | ライセンスを変更（職場等での使用は Proライセンスキー購入が必要となります）。 完全ベリファイの追加（Pro版のみ）。 Win11用シェル拡張に対応。 非同期I/Oアルゴリズムを進化させて、さらなる高速化。 特権時の領域事前確保により高速SSD環境で20%～30%の高速化。 メインコマンドに、「ベリファイ」「FCベリファイ情報表示」「FCベリファイ情報検証（Pro版のみ）」を追加。 CPUアフィニティに対応。 常に並列動作させるドライブ設定を追加。 ベリファイエラー時のアクションにタイムスタンプ変更(1980-1-1)を追加。 削除時にメモリリークしていたのを修正。

Version | 説明
v4.00 - v4.22 | FcHash.exeを追加。（xxHash3/SHA系高速ハッシュ計算コマンドライン） ディレクトリへの副次ストリームをサポート。 WebHook通知をサポート（Slack等に終了ログを送信）。 fcp.exeを追加。（FastCopyのコマンドライン版） OpenSSLを組み込み、SHA-256利用時のCPU使用率を1/3に。（＆高速化）。 常時LowI/O利用オプションを追加。 ベリファイに SHA-512モードを追加。 HDD I/O速度を向上。 xxHashの速度を向上。
v3.00 - v3.92 | ベリファイ種類にSHA-256, xxHash3(128bit) を追加し、デフォルトをxxh3に変更（SSE2/AVX2/AVX512 を自動利用）。 ベリファイ付きコピー時に、ベリファイ情報付与オプションを追加。（副次ストリーム(:fc_verify)に（ハッシュ値、コピー日時等）を追記） ファイルメニューに、ファイルログ履歴を追加。 Include/Excludeフィルタに絶対パス指定を追加。 削除処理のマルチスレッド化。（ネットワーク経由で2倍以上） Sourceオープンのマルチスレッド化。（ネットワークドライブで特に効果） ディレクトリ探索の高速化（高レイテンシ環境or大規模エントリ用。FIND_FIRST_EX_LARGE_FETCH利用）。 ACL有効時に、管理者権限でローカルNTFS(or ReFS)間のコピーでは、DACLだけでなくSACLもコピーするように。 完了状態をアイコン上部の色でも表現（緑：完了、赤：エラー）。 非同期I/Oサポート、フィルタ相対パス、同時実行動作の最適化。 ユーザレベル（非管理者）でのシェル拡張を可能に。 OSキャッシュ設定にNetDrv用を追加。 /time_allow=N(ms) オプションを追加。 テスト用ファイル作成モード設定を追加（[読み込みなしでの]非同期I/Oを使った書き込み速度テスト＆ダミーファイル作成）。
v2.00 | ジョブ管理、Symlink対応、簡易比較、ACL/AltStremサポート、速度コントロール追加等
v1.00 | 移動モード、シェル拡張追加、英語OS対応等
v0.50 | α版ファーストリリース。 (2004/09/27)


FastCopy Help (en)

FastCopy ver5.3.0

2023/08/12 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
Defaults
I/O Settings
Verify Options
Drive Settings
Parallel running
CPU Settings
Copy Options
Move/Sync Options
Delete options
Log Settings
Shell Extension
At minimizing
Misc
2) Post-Process
3) Shell Settings
4) Job Management
5) License Management
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 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)

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-2023 SHIROUZU Hiroaki All rights reserved.
Copyright 2018-2023 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 | Normal | Old ver(v4.x)
Use in the workplace |  | (*1) |
Perfect Verify |  |  |
Check for silent data corruption |  |  |
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-2022, 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

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.)
Move (No Overwrite) (Only Pro) | 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 (Only Pro) | 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/xxHash). (If you want to use MD5/SHA-1/SHA-256/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
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-update2.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)
Always use Low IO | Gives I/O priority to other apps. (Use Low-Priority I/O in Vista and later)

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.

Verify Options

Verify options
Verify mode Select 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 (xxHash/MD5/SHA-1/SHA-256/xxHash3) 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
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 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)
Details | Specifies 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 specify | If 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
Details | 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" For drives with UNC pathnames, please assign a drive letter or specify the 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.

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 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.
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/DestDir | need to restart FastCopy
Write to Error log | Logging error message to FastCopy.log
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

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, if error occurred. ... execute only if succeeded
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.
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.
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.
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)

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.

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)

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
| sync
| 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.)
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)
move_noexist | Move (No Overwrite)
delete | Delete
verify | Verify
verify_read | FC Verify Info Disp
verify_check | FC Verify Info Check
/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)
/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.
/low_io | Prioritize 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_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)
/dlsvt=(none|auto|always) | Specify Daylight Saving Time grace (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 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...
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...]

Options | Contents
--(xxh|xxh3|md5|sha1|sha256|sha512) | Hash kinds (Default: xxh3)
--recur(sive) | Process directories recursively
--non_stop | Ignore errors
--use_cache | Using 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

Version | Detail
v5.3.0 | Add "Move (no overwrite)" mode (Pro version only). Misc refine.
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-1-1) to Action at Verify Error. Fixed a memory leak that occurred during deletion.

Version | Detail
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.00 | 1.00 release (2005/03/10)
v0.50 | First alpha release (2004/09/27)


                                 Apache License
                           Version 2.0, January 2004
                        https://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS


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

BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)

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.