FastCopy/ipmsg.org を 応援したい方はこちら |
|
|
1. 概要
Windows系最速(?) のファイルコピー&削除ツールです。
NT系OS の場合、UNICODE でしか表現できないファイル名や MAX_PATH(260文字) を越えた位置のファイルもコピー(&削除)できます。 自動的に、コピー元とコピー先が、同一の物理HDD or 別HDD かを判定 した後、以下の動作を行います。
Read/Write も、OS のキャッシュを全く使わないため、他のプロセス (アプリケーション)が重くなりにくくなっています。 可能な限り大きな単位で Read/Write するため、デバイスの限界 に近いパフォーマンスが出ます。 Include/Exclude フィルタ(UNIXワイルドカード形式)が指定可能です。 MFC 等のフレームワークを使わず、Win32API だけで作っています ので、軽量&コンパクト&軽快に動作します。 全ソースコードは BSD ライセンスで公開していますので、VC++ 等 をお持ちであれば、ご自由にカスタマイズしての利用も可能です。 2. ライセンス&免責
Copyright 2004-2011 SHIROUZU Hiroaki All rights reserved.
ソースコード形式であれバイナリ形式であれ、変更の有無に関わらず、以下の条件を満たす限りにおいて、再配布および使用を許可します:
1. ソースコード形式で再配布する場合、上記著作権表示、本条件書、および下記免責表示を必ず含めてください。
2. バイナリ形式で再配布する場合、上記著作権表示、本条件書、および下記免責表示を、配布物とともに提供される文書及び他の資料に必ず含めてください。
SHIROUZU Hiroaki および貢献者は、本ソフトウェアの使用/利用によるいかなる損失に対しても、責任を負いません。
3. 動作環境
Windows 98/Me/NT/2000/XP/2003/Vista/2008/Win7
(MFCXX.dll は必要ありません) 4. インストール・アンインストールインストール
setup.exe を実行して、任意のディレクトリにインストールしてください。
(インストールディレクトリへのコピーと、ショートカットの作成を行います) USB メモリ等に格納して使用する場合は、fastcopy.exe, fastcopy.chm のみをコピーしてお使いください。(この場合、シェル拡張は使えません) アンインストール
インストールディレクトリの setup.exe を使ってアンインストールすることができます。
(ショートカットの削除とシェル拡張の解除を行います) なお、シェル拡張を行っていた場合、完全な削除は OS再起動後になります。 5. 使用法&画面説明
ウィンドウの最小化で、タスクトレイに格納します。
(さらに、コピー動作中は、アイコンが回転します) 画面説明は、以下の通りです。 Source / DestDir
Source(コピー元) と DestDir(コピー先ディレクトリ) を指定します。
(デフォルトでは、過去10世代分記憶します) Source を複数指定(ドラッグ&ドロップ可)する場合は、セミコロンで区切ります。 (なお、セミコロンを含むパス名は、""で括って指定します) Source へのドラッグ&ドロップ時に CTLキーを押している場合、現在の Source 内容に追加する形になります。(押していない場合は、現在の Source 内容はクリアされます) また、DestDir 入力欄への(ディレクトリの)ドロップも可能です。 DestDir 指定の末尾に '\' があるかどうかによる挙動の違い
Source 指定が1ディレクトリのみで、DestDir 指定の末尾に '\' がない場合
Source ディレクトリ自体はコピーせず、Source ディレクトリ配下の内容を
DestDir 配下にコピーします。
(DestDir\SourceDirの中身) それ以外の場合
Source ディレクトリ自体を含めて、DestDir 配下にコピーします。
(DestDir\SourceDir\SourceDirの中身) 動作モード
ボタン&オプション指定
Include / Exclude フィルタ指定で使用可能なワイルドカード書式
FromDate/ToDate フィルタ指定の書式
ジャンクション・シンボリックリンク
v1.70から、ジャンクション(含むマウントポイント)・シンボリックリンクを認識するようになりました。
ハードリンク
v1.95から、/linkdest を指定して起動したときのみ、ハードリンクを再現することが可能になりました。
(実行時の TotalFiles: 表示が、"ファイル数(ディレクトリ数)" から "ファイル数/ハードリンク数(ディレクトリ数)" に変化します) 注意点は以下の2つです。 1.ハードリンク実体1万ファイルあたり、2-4MB程度メモリを消費します(パス長に依存)。 2.差分コピー動作が遅くなります。(リンクカウンタ取得用にスキップ対象のファイルもオープンするため)。 /linkdest 指定した場合、/recreate オプション相当の動作が常に有効になります。 常時、ハードリンク再現を有効にしたい場合、fastcopy.ini [main] linkdest=1 にします。 また、linkdest=2 とすると、スキップ対象ファイルもハードリンク検査対象に含めます。 ジョブ管理 → ジョブ追加・削除
メインウィンドウの記述内容を、ジョブという単位で、保存&呼び出しできるようにします。
設定 → 一般設定
FastCopy の一般設定(各種デフォルト値、I/Oパラメータ、ログ記録等)を行います。
設定 → シェル拡張設定
Explorer の右クリックメニューに、FastCopy のコピー・削除メニューを登録/解除します。
設定 → 自動/同一/別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 でも実行可能です。 設定 → 終了時処理
終了時処理を選択します。標準、スタンバイ、休止、シャットダウンがデフォルトで用意されています。
さらにサウンド設定やコマンド実行などを追加することができます。新しい終了時処理を追加することも可能です。 6. コマンドラインモード
基本的な書式は、以下の通りです。
fastcopy.exe [/オプション類] file1 file2 ... [/to=dest_dir] (なお、GUI モードと違い、区切り文字は空白文字になります。従い、空白文字を含むパス名は、"" で括って指定してください。) 指定可能なオプションは、以下の通りです。 (なお、'=' の前後には空白を入れないで下さい) /cmd=(noexist_only|diff|update|sync|force_copy|move|delete) ... 動作モード指定。 (cmd 指定省略時は diff モード。delete 指定時は、/to=dest_dir は使いません)
/force_close ... コピー終了後、エラーが発生していた場合も、強制的に終了します /open_window ... タスクトレイに格納しません(直ちに実行開始しない場合は指定不要) /estimate ... コピー完了時間予測を行います /no_exec ... パラメータをメインウィンドウにセットしますが、実行はしません /no_confirm_del ... /delete 時に、動作開始の問い合わせをしません /no_confirm_stop ... 継続不能エラー発生時にも、エラーを出しません /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指定の有無に関わらず、この動作を行います)常時、この動作を有効にしたい場合、fastcopy.ini [main] recreate=1 にします。 /postproc=終了時処理名 ... 事前に登録してある終了時処理名を指定します。(/postproc=FALSE で抑止) 例) C:\test 配下を D:\Backup Folder に差分コピーする場合 fastcopy.exe /cmd=diff C:\test /to="D:\Backup Folder\" 7. 注意(危険なところ)
コピー先ファイルは、動作モードに応じて、問い合わせなしに、強制的に上書きすることがあります。
同期モードでは、状況に応じて、コピー先のファイル&ディレクトリを強制削除します。 削除モードでは、ファイル&ディレクトリを常に強制削除します。 (強制削除=読み取り専用属性がついている場合、それをクリアしてから削除) 万一バグがあれば、悲惨な結果になる可能性があります。 (「2. ライセンス&免責」を熟読のこと) 8. 最新版&連絡先9. その他
Vista以降かつ \Program Files 配下にインストールした場合、\Users\(USER)\AppData\roaming\FastCopy\ 配下に(メニューのファイル(F) → UserDir(U))保存します。
それ以外の場合、FastCopy.exe の存在するフォルダに保存されます。
高速コピーのコア部分(fastcopy.cpp/h)は、GUI 部分から独立させて作ってあります。
BSDライセンスに基づいて、ご自由にお使いください。 10. ToDo11. 履歴
|
|