FileMany 操作説明
FileManyは重複するファイルを検索し、一括削除するためのソフトです。
ダウンロードはトップページよりお願い致します。
ソフトの不具合、ご要望、感想などお気軽に掲示板にてどうぞ
重複ファイルの検索と削除が主な目的ですが
それ以外にも沢山のファイルを扱う際に便利そうな機能を追加していく予定です。
【重複削除】操作手順
このソフトウェアのメイン機能です。重複ファイルを検索し、削除します。
1.画面左側TreeViewより重複ファイルを検索したいフォルダにチェック
(チェックしたフォルダのサブフォルダも対象となります)
(対象フォルダ一覧タブへエクスプローラーよりドラッグ&ドロップでも可)
2.検索時の設定を行います(次節参考)
3.開始ボタンを押します
4.検索が開始されます
参考:アルゴリズム
a.検索対象ファイルを全て列挙
b.ファイルサイズの昇順にSort
c.同じサイズのファイルが2つ以上ないものは候補より除外
d.サイズが一致するものを重複ファイル候補とします
e.ハッシュ比較がONであればさらにハッシュで比較を行います
(この時、既にハッシュ作成済みデータがあればそれとの比較)
f.1バイト単位で完全一致比較がONであれば全データをバイナリ比較(※1)
5.処理が完了したら結果タブにて重複ファイルの一覧が表示されます
(重複したファイルの中で一番ファイル名が短いもののチェックがOFFが初期状態です)
6.結果タブの削除したいファイルにチェックを付けます
7.削除ボタンを押します。チェックされたファイルが削除されます
(※1)
ハッシュが同じファイルをさらに1バイト単位で比較することができますが制約があります。
例えば、ハッシュ値が同じファイルA,B,C,Dがある場合
A-B,A-C,A-Dをそれぞれ比較し、一致したものだけが結果に載りますが
仮に、AとBが一致し、CとDは不一致であった場合で
CとDが同一であったとしてもCとDはリストには載りません。
このようなケースは非常に稀だと思いますし一旦A,Bを削除し
再検索することでC,Dの一致を発見することができます。
この制約を設けた理由ですが
実装が面倒、同じハッシュ値のファイルが多いほど比較回数が増える、
そもそもそんなファイルがゴロゴロ見つかるのは確立的にかなりなくはないけどないよね
などが挙げられます。
この制約は同じハッシュ値を持ったファイルが3つ以上ある時に発生するものです。多分
【指定削除】操作手順
1.削除したいファイルの拡張子を入力
2.検索開始ボタンを押す
3.削除対象ファイルが結果タブに出力されます
4.結果タブで確認し、削除するファイルにチェックします
5.削除ボタンを押して削除します
【ファイル名削除】操作手順
1.ファイル名から削除したい文字列を入力します
2.検索開始ボタンを押す
3.削除対象ファイルが結果タブに出力されます
4.結果タブで確認し、削除するファイルにチェックします
5.削除ボタンを押して削除します
※ファイル名にのみ作用するのでファイルそのものは削除されません。
なお、リネーム後のファイル名で既にファイルが存在する場合は失敗します。
設定項目
■検索対象ファイルサイズ
MB単位で対象となるファイルサイズの最小と最大値を指定します。
この範囲外のファイルは無視されます。
小さいファイルを除外すると処理が軽くなります。
■同じ拡張子のファイルのみ比較
通常はON
同じ拡張子の同じ種類のファイル同士を比較します。
■ハッシュで厳密に比較
通常はON
ファイルサイズの一致を判断した後、各ファイルのハッシュ値を取得し比較します。
処理に時間がかかりますが厳密な比較が可能です。
■1バイト単位で完全一致比較
ハッシュもサイズも更新日時も一緒でもほんとに一緒なの?と不安な方のために
全データを1バイト単位ですべて比較します。処理にはそれなりに時間がかかります。
■読み取り専用ファイルを無視
通常はON
属性が読み取り専用のファイルを無視します。
■隠しファイルを無視
通常はON
属性が隠しのファイルを無視します。
隠し属性ファイルは重要なファイルであることが多いのでONを推奨
■システムファイルを無視
通常はON
OSの動作に必要なファイルなど、システム属性ファイルを無視します。
■一時ファイルを無視
通常はON
属性が一時ファイルのファイルを無視します。
■0バイトのファイルを無視
通常はON
比較のしようがないサイズ0バイトのファイルを無視します。
■Windowsフォルダを無視
通常はON
c:\windowsフォルダを無視します。
■終了時に作成済みハッシュ情報をリフレッシュ(ONを推奨)
作成されたハッシュは
・ハッシュ
・絶対パス付きファイル名
・サイズ
・最終更新日時
の4つが1セットで記憶されており
従ってファイルが移動されると、記憶しているハッシュ情報が次回使えなくなります。
このような古い情報を削除(リフレッシュ)するためのチェックです。
■ログ出力を省略
通常はOFF
ログタブに検索中フォルダを出力しないことで処理が若干軽くなります。
■ごみ箱に捨てる
通常はON
削除の際、ごみ箱にファイルを移動します。安全のためON推奨
■ファイル名の先頭、或いは最後の余分なスペースを削除(Trim)する
拡張子を除くファイル名の先頭、末尾になる余分なスペースを取り除きます。
結果タブ
結果タブのTreeより、Nodeをダブルクリックするとそのファイルを開くことができます。
(右クリックメニューより開く、でも同様)
また、エクスプローラーなどの別アプリへドラッグ&ドロップも可能です。
(個別ファイルNodeのみ)
環境
■開発環境
VisualStudio2008 C#.NET
■動作環境
Windows2000、XP、Vista
要.NET Framework2.0
ハッシュの記憶について
1度ハッシュを作成したファイルの情報は
Hash.txtファイルに記憶され、次回からの比較に利用されます。
フォーマットは
【ハッシュ文字列】|【サイズ】|【更新時間】|【絶対パス付きファイル名】
の連続です。1ファイル1行です。
最近の更新履歴
2008.08.21 Ver1.0.1.7
・ごみ箱に捨てるオプション追加
2008.08.21 Ver1.0.1.6
・比較途中で停止されても途中結果を出力
・ログの簡略化オプション追加
2008.08.09 Ver1.0.1.5
・削除後に出力Treeをクリックすると存在しないファイルで落ちる不具合修正
Q&A
Q.処理を停止してもすぐに停止されません
A.ログが溜まっているのでそのように見えますが実際にはファイル単位で処理は停止されます
Q.ハッシュの作成に時間がかかるので停止したいのですが
A.途中まで作成されたハッシュは記憶され次回に活かされるので停止しちゃってください
Q.独自の機能や拡張をお願いしたいのですが
A.ほとんどの利用者の方にとって有益で、それが簡単なものであれば無償で対応致します。
ご利用が企業様の場合や特殊な機能は有償で作業を御請けしますのでご相談ください。
Q.Ver1.0.1.6より処理を途中停止しても結果が出力されるようになりましたが条件は?
A.ファイルを列挙中の段階で停止しても結果は常に一致なし、です。
少なくともファイル列挙処理が終わらなければ一致ファイルを見つけることはできません。
掲載履歴
2008.07.29 Cow&Scorpion様
寄付歓迎
ソフトウェアの開発にはやる気と時間とスキルと少しばかりのお金が必要です。
使って頂いてもし気に入って頂けましたら
ページ内のamazonリンクからお買い物をして頂けると励みになりますw
ToDo / Idea / etc
実装の優先度や時期は不明ですが掲示板などでコメント頂ければまとめていきます。
- タグ以外違いがないmp3の重複とかみつけてくれたらなーとか思った
- Treeをリロードするボタンが欲しい
|