Top Page
FastCopy English Page
FastCopy/ipmsg.org を
応援したい方はこちら

FastCopy

Windows系最速(?)のファイルコピー&削除ツール

v3.02正式版
実行ファイル (32bit)from Vector
実行ファイル (64bit)from Vector
ソースコードfrom Local
 
v3.02 変更履歴

2004/09/28 作成
2015/08/20 更新
重要:v1.60/61には問題があります

新掲示板   新掲示板(英語)  (旧)  Wiki  日記/twitter (開発時の構想) old ver2.11: x86 x64 src

1. 概要

2. ライセンス

FastCopy ver3.0 Copyright(C) 2004-2015 by SHIROUZU Hiroaki

FastCopy ver3.0 は GNU Public License ver3 のオープンソースソフトウェアです。
詳細は同梱の
license-gpl3.txt をご覧ください。
(改変版バイナリ配布を、配布先に対してソースコード非公開で行いたい場合や、バンドル版や特別版開発等のご要望がありましたら、作者(shirouzu@ipmsg.org)までお問い合わせください)

3. 動作環境

Windows XP/Vista/7/8/8.1/10
Windows Server 2003/2008/2012

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

インストール

setup.exe を実行して、任意のディレクトリにインストールしてください。
(インストールディレクトリへのコピーと、ショートカットの作成を行います)
USB メモリ等に格納して使用する場合は、fastcopy.exe, fastcopy.chm のみをコピーしてお使いください。(この場合、シェル拡張は使えません)

アンインストール

インストールディレクトリの setup.exe を使ってアンインストールすることができます。
(ショートカットの削除とシェル拡張の解除を行います)
なお、シェル拡張を行っていた場合、完全な削除は OS再起動後になります。

5. 使用法&画面説明

ウィンドウの最小化で、タスクトレイに格納します。
(さらに、コピー動作中は、アイコンが回転します)
画面説明は、以下の通りです。

Source / DestDir

動作モード

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

ボタン&オプション指定

実行 コピー動作を実行します。実行中は、中断...ボタンに変化します。
CTLキーを押しながら実行を押すとソース一覧が表示された確認ダイアログが出てきます。
リストアップ コピー&削除される(予定の)ファイルを、リストアップして表示します。頭に '+' は作成・更新され、'-' は削除されます。
CTLキーを押しながらリストアップを押す(ボタン名「リストアップ」→「リストアップ+V」)と、スキップ対象(ただしフィルタ除外は除く)のファイルペアについて、読み込み&ハッシュ値比較を行います。
SHIFTキーを押しながらリストアップを押すと(ログ設定でファイルログを有効にしている場合)リストアップ内容がファイルログに記録されます。(ログ設定でファイル日付・サイズ記録オプションを設定している場合、それらも表示・記録されます)
Buffer 指定 Read/Write に使う、バッファサイズを MB 単位で指定します。
v3.0以降、64bit版では4096MB以上を指定可能になりました。(意味があるかは?ですが)
最大I/O単位の2倍以上の値が必要です)
速度コントロール 最大(Full Speed)、自動速度制限(Auto Slow)(*1)、速度指定(90%~10%)、停止(Suspend) を指定することができます。重いと感じる場合は「自動速度制限」を試すと良いでしょう(マウスや最前面ウィンドウの変化を検知すると、一定時間、遅くします)。また「最大」以外の場合は、プロセス優先度クラスを「低」に落とします。(ジョブ管理での保存項目対象にはなりません)
エラー時継続 Read/Write/Delete等で、エラーが発生しても、中断せず、可能な限り動作を続けます。
(ただし、エラー表示欄やエラーログには残ります)
ベリファイ MD5(or SHA-1) による書き込みデータのベリファイを行います。(SHA-1 を利用する場合は、fastcopy2.ini の [main] に using_MD5=0 を設定します)
なお、具体的には、次のような比較を行います。
Read(Src) -> MD5(Src) -> Write(Dst) -> Read(Dst) -> MD5(Dst) -> MD5比較(Src/Dst)
(各ステージが、複数のファイルを跨ったパイプラインのように並列して処理されます)
完了時間予測 コピー開始前に、コピー元の総ファイル数・総ファイルサイズを調べることで、完了時間を予測します。 (なお、削除モードでの予測はできません。また、移動モードの場合、削除時間は予測に含んでいません)
Top 常に最前面に表示します。
直ちに開始 他の FastCopy が実行中の場合に、その完了を待つことなく、直ちに実行を開始します。(なお、他の FastCopy がコピー・移動中でない場合、このボタンは現れません)(同時実行
「?」 ヘルプを表示します。
(*1)FastCopy がアクティブでない状態でマウス移動を検出すると速度制限します。具体的には、I/O 動作の合間にウェイトを入れる、プロセス優先度を下げる、I/O優先度を下げる(Vista以降)、最大I/Oサイズを1MBに低下させる、等により動作速度を制限します。なお、動作内容は、将来、変更される可能性があります

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

フィルタ指定

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

Include 指定文字列(UNIXワイルドカード形式可)にマッチするファイルやディレクトリ配下のみをコピー対象にします。(備考
複数指定する場合は、セミコロンで区切ります。ディレクトリを指定する場合は、文字列の末尾に '\' を付与します。
(例: *.txt; My Folder[0-9]\)
ver3.0 以降から、相対パス指定ができるようになりました。
Exclude Include の反対で、マッチするファイル・ディレクトリを除外します。
以下のフィルタは、設定→拡張フィルタ表示を有効にした場合のみ表示されます
FromDate 指定日時(書式)以降の更新タイムスタンプを持つファイルを対象とします。
書式は絶対日付指定("20150701")以外に、相対日付も可能です(10日前: '-10D')
ToDate 指定日時以前の更新タイムスタンプを持つファイルを対象とします。
MinSize 指定サイズ以上のファイルを対象とします。末尾に K/M/G/T を付与することで、サイズの略記表記可能です。
MaxSize 指定サイズ以下のファイルを対象とします。

備考1)削除モードで、include に「ファイル指定あり&ディレクトリ指定なし」の場合にディレクトリ削除しません。
 (ver2.11 までの「フィルタ指定時=常にディレクトリ削除しない」から挙動を変えています)
備考2)ファイルを1つ以上指定した場合、マッチしないファイルはコピーされません。
備考3)ディレクトリを1つ以上指定した場合、マッチしないディレクトリ配下以外はコピーされません。

相対パス指定 include/exclude の先頭文字が \ でない場合、相対パス指定となり、パスの末尾方向からの一致を検索します。
Source指定が C:\dir\ の時、include指定に subdir[1-9]\xxx\ とすると、C:\dir\subdir2\xxx\ や C:\dir\dir\subdir3\xxx\ などのマッチするディレクトリとなり、その配下のファイルのみがコピーされます。
subdir[1-9]\file.* とファイルをinclude指定した場合、C:\dir\zzz\subdir9\file.txt などがマッチし、コピー対象になります。
開始パス指定 include/exclude の先頭文字が \ ではじまる場合、開始パス指定となり、パスの先頭方向(下記、フィルタ検査の開始点を参照)からの一致を検索します。
Source指定が C:\dir\ の時、include指定に \subdir[1-9]\xxx\ とすると、C:\dir\subdir2\xxx\ や C:\dir\subdir3\xxx\ などのマッチするディレクトリ配下のファイルのみがコピー対象になります。
include に \subdir[1-9]\file.* とファイルを指定した場合も、C:\dir\subdir9\file.txt などがコピー対象になり、それより深いディレクトリのファイルにはマッチしません。
フィルタ検査の開始点 Source指定が C:\src\; C:\src\file.txt; C:\src\dir* のいずれかの場合、 フィルタ検査の開始点(先頭)は C:\src\ になります。

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

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

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

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

ハードリンク

v1.95から、/linkdest を指定して起動したときのみ、ハードリンクを再現することが可能になりました。
(実行時の TotalFiles: 表示が、"ファイル数(ディレクトリ数)" から "ファイル数/ハードリンク数(ディレクトリ数)" に変化します)

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

/linkdest 指定した場合、/recreate オプション相当の動作が常に有効になります。
常時、ハードリンク再現を有効にしたい場合、fastcopy2.ini [main] linkdest=1 にします。

メニュー項目

6. 設定

設定 → 一般設定

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

デフォルト設定

I/O設定

I/O用の基本パラメータ設定を行います。
最大I/O単位(MB)1回にOSにリクエストするReadFile/WriteFileのサイズを指定します
「最大I/O単位÷重畳数」が実際のリクエストサイズになります。
Buffer 指定は、最大I/O単位の2倍以上が必要です)
重畳数(非同期I/O発行数)(v3.0以降)ReadFile/WriteFile API発行毎に完了を待たず、並行してAPIを発行することで(特にネットワークドライブに対する)I/O速度を向上させています。
なお、重畳数を1にすると非同期I/Oを使わず、従来と同じ動作になります

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

ドライブグループ

同じ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
なお、シンボリックリンクの作成には特権(管理者権限)が必要となります。
「移動(全上書き)」を「移動(日付・サイズ)」 に変更 移動先に日付・サイズが同じファイルがあれば同一と見做して、コピーすることなく移動元から削除します
移動を逐次方式に通常は移動予定リスト(数千~数万ファイル)が一杯にならない限り、コピー元の削除を始めませんが、これをチェックするとファイルコピー終了毎に終わり次第(なるべく)即座にコピー元を削除します
移動(ベリファイ時)上と同じ動作ですが、ベリファイが終わり次第、となります
タイムスタンプ比較時の許容誤差差分(日付・サイズ)や差分(最新日付)で、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\…)。従い、実体/配下コピーを有効にする場合は注意が必要です

削除関連オプション

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

ログ設定

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

その他

その他のオプションです。
実行前に確認ダイアログ実行前に確認します
最小化時、タスクトレイではなく、タスクバーを使用タスクバーを使用します
表示更新間隔実行時の表示更新時間を指定します。アイコンの回転速度にも同期します
英語UI英語UIモードになります。再起動後に有効です

設定 → シェル拡張設定

Explorer の右クリックメニューに、FastCopy のコピー・削除メニューを登録/解除します。
(管理者権限が必要です。メニュー右端の「特権」で昇格してください)

設定 → 自動/同一/別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モード)にジョブ名を付けて保存・更新します。
削除 選択したジョブを削除します。

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

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

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

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

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

/cmd=(noexist_only|diff|update|sync|force_copy|move|delete) ... 動作モード指定。
 (cmd 指定省略時は diff モード。delete 指定時は、/to=dest_dir は使いません)
cmdlineGUIでの表記
noexist_only差分(上書きなし)
diff差分(サイズ・日付)
update差分(最新日付)
force_copyコピー(全上書き)
sync同期(サイズ・日付)
move移動(全上書き)
delete全削除
/auto_close ... コピー終了後、自動的に終了します

/force_close ... コピー終了後、エラーが発生していた場合も、強制的に終了します

/open_window ... タスクトレイに格納しません(直ちに実行開始しない場合は指定不要)

/estimate ... コピー完了時間予測を行います

/no_ui ... 原則として問い合わせダイアログを出しません。(バックグラウンド動作用。内部的に /no_confirm_del と /no_confirm_stop と /force_close もセットされます。セッション0分離(主にタスクスケジューラ起動)では自動的に/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 という形式で保存されます。ベリファイ時はハッシュ値(通常 MD5、設定によって SHA1)も記録されます。(/filelog=filename で指定ファイルに保存可能。ただし、同じファイルを指定して、同時に複数の FastCopy を実行した場合、ログ出力が交互に混じる可能性があります)

/utf8 ... UTF-8でログを記録します

/skip_empty_dir ... フィルタ指定時、空ディレクトリをコピーしません(/skip_empty_dir=FALSE で抑止)

/job=ジョブ名 ... 事前に登録してあるジョブを指定します

/force_start ... 他の FastCopy がコピー実行中の場合も直ちに実行します(/force_start=FALSE で抑止)

/disk_mode=(auto|same|diff) ...
自動/同一/別HDDモードを指定します。(デフォルト: auto)

/speed=(full|autoslow|9-1(90%-10%)|suspend) ... 速度コントロールを行います。

/srcfile="files.txt" ... Source内容をファイルで指定します。1行に1ファイルを記述します。(なお、大量のファイルを指定すると、Sourceコンボボックスの表示/再描画に非常に時間が掛かります)

/srcfile_w="files.txt" ... /srcfile= と同様ですが、UNICODE で記述します。

/include="..." ... Include フィルタを指定します(詳細

/exclude="..." ... Exclude フィルタを指定します(詳細

/from_date="..." ... 更新日付フィルタ(最古)を指定します(詳細

/to_date="..." ... 更新日付フィルタ(最新)を指定します(詳細

/min_size="..." ... サイズフィルタ(最小)を指定します(詳細

/max_size="..." ... サイズフィルタ(最大)を指定します(詳細

/wipe_del ... 削除モード時に、ファイルを削除する前に上書き&リネームして、復元を無効にします(/wipe_del=FALSE で抑止)

/acl ... アクセスコントロールリスト(ACL)をコピーします(NTFSのみ有効)(/acl=FALSE で抑止)

/stream ... 副次ストリームをコピーします(NTFSのみ有効)(/stream=FALSE で抑止)

/reparse ... ジャンクション・マウントポイント・シンボリックリンクを(配下ではなく)それ自体をコピーします(/reparse=FALSE で配下をコピー)(詳細 および 注意

/verify ... MD5(or SHA-1) による書き込みデータのベリファイを行います(/verify=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\"

8. 注意(危険なところ)

9. 最新版&連絡先

10. その他

  • 設定ファイル(FastCopy2.ini)およびログファイルは、
    Vista以降かつ \Program Files 配下にインストールした場合、\Users\(USER)\AppData\roaming\FastCopy\ 配下に(メニューのファイル(F) → UserDir(U))保存します。
    それ以外の場合、FastCopy.exe の存在するディレクトリに保存されます。
  • 他のアプリケーション等への組み込みについて
    高速コピーのコア部分(fastcopy.cpp/h)は、GUI 部分から独立させて作ってあります。
    GPLv3 ライセンスに基づいて、ご自由にお使いください。
  • 万一、異常終了(例外)した場合、fastcopy_exception.log が生成されます。 (作者に送ると、品質向上のための手がかりになります)
  • 11. ToDo

  • ネットワーク対応(2つのPCに入れた fastcopy 同士で高速転送)
  • 簡易比較の高速化
  • 12. 履歴

    Version説明
    v3.02 DeDuplication機能(Windows Server 2008以降)でリパース化されたファイルに対応(/reparse に関わらず常に実体参照するように)。
    v3.01 1つのディレクトリ「直下」に多数のファイル(65,537ファイル(64bit版)/131,072ファイル(32bit版)以上)があった場合に、メモリ確保エラーで処理が中断することがあったのを修正
    v3.00 Read/Write に非同期I/Oを用いることで(特にネットワークドライブ間の)転送速度を向上。
    Include/Excludeフィルタ指定で最終パス要素以外に、相対パス&開始パスを指定可能に。
    複数のFastCopy起動時の同時実行動作の最適化。(別々の物理ドライブへの処理は並列実行、同じ物理ドライブへの処理は実行順を守って順次実行、シャットダウン処理は他のFastCopy処理終了を待ってから実施)
    /no_uiオプション(問い合わせダイアログを出さない)を追加(&タスクスケジューラ起動で自動有効)。
    4096MB を超えたバッファ指定を可能に(64bit版のみ)。
    ファイルログにタイムスタンプ・ファイルサイズを付加可能に。
    更新日付に許容誤差設定を追加。
    同一物理HDDグループ判定の精度を向上。
    ヘルプファイルを充実&各種ダイアログから当該項目ヘルプを呼び出せるように。
    各所の数値表示を見やすく(フォント変更、カンマ区切り、小数点精度調整)。
    設定ファイルを FastCopy.ini → FastCopy2.ini に変更&ini内エンコードのUTF-8化&一部書式変更。
    ライセンスを 2条項BSD から GPLv3 に変更
    その他リファイン。
    v2.11英語UIモードで、コマンドライン・シェル拡張の引数が無視されていたのを修正
    v2.10 Vista以降 の 120DPI モードでも綺麗に表示されるように。 ACL/Stream有効にした状態で上書きコピーに失敗することがあったのを修正。 表示頻度を 250ms/500ms/1000ms から選択できるように。 ジョブ名をウィンドウタイトルに入れるように。 (タスクトレイではなく)タスクバーで最小化する設定を追加。 終了時処理でのコマンド実行条件を柔軟に。 その他、リファイン
    v2.08Sourceディレクトリ選択で、CTLキーを押しながらのOK押下でパス名追加動作に。パス履歴が保存されない問題の修正(v2.07のみ)。
    v2.07メインウィンドウリサイズ時のコンボボックスの自動補完/選択を抑止。その他リファイン
    v2.06ベリファイ時にエラーとなることがあったのを修正(v2.05のみ)。
    v2.05Win98で設定が保存できない問題を修正。ACL/副次Streamエラーの記録を選択可能に。
    v2.04特権昇格後にもドラッグ&ドロップできるように。FastCopyシェル拡張DLLを日本語ディレクトリ内においた場合にシェル拡張が利用できなかった問題を修正。設定ダイアログ&その他リファイン
    v2.03英語UI時に「特権」メニュー項目が効かない問題を修正。その他リファイン
    v2.02x64 ネイティブ版をリリース。Vista以降で \Program Files 配下にインストールした場合、UAC環境でなくても fastcopy.ini やログファイルを \Users\(USER)\AppData\roaming\FastCopy 配下に保存するように変更。セミコロンを含むファイル名を指定するとエラーが出る場合があったのを修正。その他、修正&リファイン。
    v2.01同一HDD内での大量移動が完了しないことがあったのを修正。Source/DestDir指定に絶対パスを必要としない形に戻した。
    v2.00簡易比較機能の追加(CTLキーを押しながら「リストアップ」)。UAC有効な環境で \Program Files 配下にインストールした場合、fastcopy.ini やログファイルを \Users\(USER)\AppData\roaming\FastCopy 配下に保存するように変更。物理HDDグループを手動設定を可能に。DestDir指定の中間ディレクトリが存在しない場合は作成するように。64bitOSでの32bitシェル拡張に対応。ジョブ管理削除時の例外発生を修正。
    v1.99r4コピー先に、大文字小文字の違うファイル名が存在する場合に、コピー元に合わせるように変更(全上書き以外)。詳細エラーが表示されないことがあったのを修正
    v1.99r3同一HDD内の別パーティション間コピーが、別HDDモードに誤判定される問題の修正(v.199r2のみ)。時間予測の精度を少し向上。
    v1.99r2詳細ファイルログ機能(/filelog)を追加(ベリファイ時はハッシュ値(Default:MD5)も出力)。移動モードでのフィルタ機能を利用可能に。起動を高速化(iniファイルを独自ライブラリ経由のアクセスに変更)。Sourceで直接指定したファイルに対しても、フィルタが効くように変更。/srcfile で MBCS文字を使えなかった問題を修正。その他リファイン。
    v1.98拡張(サイズ&更新日付)フィルタを追加(設定→拡張フィルタ表示)
    v1.97終了時処理設定時のサウンド再生が行われないことがあったのを修正。その他リファイン
    v1.96ハードリンク再現オプション指定時(/linkdest)、ファイル更新の動作を、既存ファイルを上書き→削除&再作成に変更した。また、ハードリンク再現オプション指定に関わらず、ファイル更新動作を削除&再作成にするオプション(/recreate)を追加
    v1.95ハードリンクを再現するオプション(/linkdest)の追加。終了時処理通知ダイアログが最前面表示されるように変更。コピー終了時に不正なメモリ開放をすることがあったのを修正(v1.93-v1.94)。ACL/Streamのコピーに失敗することがあったのを修正。
    v1.94ヘルプファイルが開かなかったのを修正(v1.93のみ)
    v1.93終了時処理設定(Shutdown、コマンド実行等を可能に)を追加。「ログを開く」メニューを追加。ファイルによるSource指定オプション(/srcfile=)を追加。ジョブ管理で「削除モード」を「移動モード」として保存していたのを修正(v1.80-v1.92)。インストーラのショートカット作成オプションが効いていなかったのを修正(v1.92のみ)
    v1.92シェル拡張に「タスクトレイで実行」オプションを追加。エラー発生時に、コピー先に不完全なファイルが残ることがあったのを修正。英語モードの表記を少し改善
    v1.91英語UIモードの追加。復元無効化付き削除に失敗することがあったのを修正。ベリファイ付き移動時に、稀に処理が進まなくなる可能性があったのを修正。ディレクトリ選択ダイアログでネットワークドライブが見えなくなっていたのを修正。
    v1.90ベリファイ動作の高速化(I/O とハッシュ計算を別スレッド化して並列処理)。ベリファイ用ハッシュアルゴリズムに MD5 を追加し、MD5をデフォルトに変更(fastcopy.ini で [main] using_MD5 = 0 とすれば SHA-1 を利用)。ウィンドウの位置&サイズ固定機能、および、Source ⇔ DestDir 交換機能を追加。
    v1.84フィルタ文字列登録で、(種類ごとの)登録文字数合計が62*n文字(メタ文字を除く)の境界で終わる文字列が登録されなかったのを修正。
    v1.83読み込み側OSキャッシュ利用ONの場合も、ベリファイ用読み込み時は無効化するようにした
    v1.82読み込み側OSキャッシュを利用するオプション追加(OSキャッシュに載っているファイルは高速読み込みされるが、そうでない場合、無駄にOSキャッシュを利用して他の仮想メモリをスワップアウトさせる原因になるので、標準では非推奨)
    v1.81ベリファイ付き移動でベリファイエラーが発生すると終了しない場合があったのを修正
    v1.80書き込みデータのベリファイ(SHA-1)オプションを追加。シェル拡張での「貼り付け」をサポート。移動(全上書き)を(サイズ・日付)に変更するオプションの追加。逐次移動オプションの追加。移動モード時に一部でエラーが発生した場合にも、正常にコピーできたファイルについては削除を継続する動作に変更。最大IOサイズ設定が大きすぎる場合(=ERROR_NO_SYSTEM_RESOURCES発生時)に、自動的にIOサイズを落として継続可能にした。終了予測を若干改善。継続不能時も確認ダイアログを出さないオプション(/no_confirm_stop)を追加。プロセスの戻り値について、エラー発生時には -1 を返すようにした
    v1.71Win2000/Me/98 でシェル拡張登録時に異常終了することがあったのを修正
    v1.70ジャンクション&シンボリックリンクに対応(デフォルトでは配下ではなく、リンク自体をコピー。削除では常にリンクだけを削除)。Vista UAC(特権昇格)対応。64bit版シェル拡張DLL同梱。エラーログのUTF-8出力オプション追加。復元無効化削除でもハードリンクされているファイル場合は上書きなしの削除に。ログファイル名指定オプション(/logfile=)追加。エラーログ領域が小さくなっていたのを修正。その他リファイン。
    v1.63include/excludeフィルタの上限文字数を62->2048文字に変更。その他、リファイン
    v1.62v1.60,v1.61で、コピー先ファイル作成エラーが発生する場合があったのを修正
    v1.61v1.60で、src フィールドの入力が8192文字を超えていた場合に、実行時に 8192文字に切り詰められてしまう問題を修正
    v1.60NTFS アクセスコントロールリスト(ACL)、副次ストリームのサポート。削除時の復元無効化オプション(単純上書き&NSA方式)追加。自動速度制限をスライダコントロールに変更(フルスピードから完全停止まで、12段階のコントロール)。自動速度制限時にプロセス優先度クラスを調整。
    v1.55タスクトレイ実行時の問い合わせダイアログが左上に出ていたのを修正(v1.53以降)
    v1.54NT4.0で動作するように修正
    v1.53コマンドラインでタスクトレイ実行する場合は、フォーカスを奪わないように修正。マルチモニタ使用時に、マウスの存在するモニタ側にウィンドウを出すように変更。/error_stopが効いていなかったのを修正(v1.52のみ)。
    v1.52自動速度制限機能の追加。一部の UDFファイルシステムで、同一タイムスタンプ判定が必要以上に厳しくなっていたのを修正。コマンドラインオプションの抑止指定(=FALSE)が有効に働いていなかったのを修正
    v1.51完了時間予測機能利用時に、異なる複数のディレクトリをsrcに指定すると落ちることがあったのを修正
    v1.50同期モードでのフィルタ指定を可能に。その他、リファイン
    v1.40ジョブ管理機能の追加。処理内容の事前リストアップ機能の追加。多重実行制御オプションの追加。フィルタ指定時に、空ディレクトリを作成しないオプションを追加。自動/同一/別HDDモード指定の追加。メインウィンドウのリサイズを可能に。APIエラーの説明表示。その他、リファイン
    v1.32コマンドライン時に Include/Excludeフィルタが無効になっていたのを修正。その他、リファイン
    v1.31Include/Excludeフィルタで、多数の指定をした場合に、実行直後に落ちることがあったのを修正
    v1.30Include/Excludeフィルタ機能追加。同一ディレクトリ内でドラッグ&ドロップした場合、複製を作成可能に。Source選択でファイル選択ダイアログ追加。さらに若干の高速化。シェル経由起動+キャンセルした場合、削除モード以外は自動終了しないように。その他リファイン。
    v1.21一部環境でシェル拡張メニューが出ない現象(v1.20でエンバグ)を修正
    v1.20コピー完了時間予測機能追加。シェル拡張で、複数ファイル選択+開くが機能しないことがあったのを修正。その他リファイン
    v1.12シェル拡張のサブメニュー化オプション追加。シェル経由で大量のファイルを選択した場合に固まることがあったのを修正(v1.10-1.11 のみ)。ネットワークプレースでのシェル拡張の挙動を変更。その他リファイン
    v1.11一部環境で、実行が開始できない問題を修正
    v1.10メインウィンドウのUNICODE化(UNICODEファイル名のドラッグ&ドロップ等に対応)。セミコロンを含むパス名のファイルをドラッグ&ドロップした場合、パス名を""で囲むように変更。シェル起動実行時の確認ダイアログを出さないモード追加。シェル拡張有効時に、スタートメニュー配下のディレクトリが開けなくなることがあったのを修正。その他リファイン。
    v1.00移動モードのサポート。シェル拡張機能追加。最前面オプション追加。エラーログ詳細化。/force_close オプション追加。メインメニュー&設定ダイアログ追加。英語OS対応。その他リファイン。
    v0.99同一HDD内の別ドライブレターを別HDDモードと見なすことがあった(v0.90以降でエンバグ)のを修正。DestDir へのドラッグ&ドロップを可能に。表示関係の修正、その他リファイン。
    v0.98削除中のキャンセルが効かないことがあったのを修正
    v0.97エラーログ表示追加。ログファイルオプション追加。ドラッグ&ドロップ時の挙動を変更
    v0.96高速削除モード追加。コマンドラインモードでのタスクトレイ格納条件を変更
    v0.95ヘルプが開かないことがあったのを修正
    v0.94設定保存先をレジストリから ini ファイルに変更。DestDir にルートを指定すると落ちることがあったのを修正
    v0.93デバッグ用ルーチンが残っていたのを削除
    v0.92オプション設定を保存するようにした。コピー先ディレクトリが空の場合に落ちることがあったのを修正
    v0.91内部リファイン。
    v0.90コピー元の複数指定およびドラッグ&ドロップ指定を可能に。 コマンドライン時、タスクトレイモードをデフォルトに。 まれに余分に更新が発生する場合があったのを修正。
    v0.88コマンドラインモード、タスクトレイ格納、 トレイ内アイコンアクション(?)、手抜きヘルプの追加。
    v0.87履歴の保存&各種設定保存。
    v0.86同期モードの追加。
    v0.85ファイル名比較で大文字小文字の区別をしないよう修正。
    v0.84FAT/Sambaでの同一日付判定の修正。その他修正。
    v0.83Update(上書きは、日付が新しいファイルのみ)モード追加。
    v0.82src にワイルドカード指定が使えなくなっていたのを修正。
    v0.81src/dstディレクトリエントリ取得を並列動作(別HDDモード)。
    v0.80差分コピーモード追加。
    v0.70同一HDD、別HDD モードの自動判定。
    v0.66一部バグフィクス。
    v0.65ドライブタイプで動作を変化。エラー処理追加。
    v0.64稀にデッドロックを起こす可能性を発見したので修正。
    v0.63Cancel ボタンの動作を「R/W Thread を Suspend した上 で確認」に変更。ファイル名表示はワードラップなしに。
    v0.62NT系で物理メモリロックをデフォルトにするのをやめる。
    v0.61ステータス領域を EDIT_BOX に変更(コピー可能に)。
    v0.6098系で動作するように修正。エラー無視チェック追加。
    v0.50α版ファーストリリース。 (2004/09/27)

    連絡先:email(画像になっています)

    ..up menu