同じ名前のファイルが複数あるとき、内容まで同じか調べるにはSHA-256などのファイルハッシュを比較できます。名前やサイズが同じでも内容が異なる場合があるためです。
名前が同じだけでは重複と判定しない
- 比較対象がファイルそのものか、フォルダ一式かを分けます。
- 同じ名前でも拡張子が違えば別形式なので、まず両方のフルパスを控えます。
- ファイルの更新日時だけでは中身の一致を保証できません。
- 比較する前に編集中のファイルを保存・閉じ、状態を固定します。
SHA-256とファイルサイズで比較する
- 対象2ファイルをそれぞれ別名か別フォルダへ保存し、フルパスを確定します。
- PowerShellで
Get-FileHash -LiteralPath "C:\path\a.pdf" -Algorithm SHA256を実行します。 - もう一方にも同じアルゴリズムを指定してハッシュを計算します。
- ハッシュ値が一致すれば同一内容である可能性が極めて高いと判断できます。異なる場合、ファイル内容は少なくとも同一ではありません。
- 違う場合は元データを保護したまま、どちらを採用すべきか内容と更新履歴で判断します。
同じハッシュでも削除判断は別
- ハッシュが違うからといって、どちらが「新しい正解」かは分かりません。
- PDF内の作成日時などメタデータが変わるだけでもハッシュは変わり得ます。
- ファイル名だけで重複ファイルを削除するのは避けてください。
ハッシュと業務上の正本を比較する
- 3ファイル以上ならハッシュとフルパスの対応表を作り、同一ハッシュのグループを抽出します。
- 削除する場合も別途バックアップを取り、誤削除のリスクを避けます。
ハッシュ一致の意味と限界
たとえば報告書_最終.xlsxが2つのフォルダーにある場合、名前が一致しても内容が同じとは限りません。Windows PowerShellではGet-FileHash -Algorithm SHA256 -LiteralPath 'C:\...\報告書_最終.xlsx'のように計算し、同じアルゴリズムのハッシュ値を比較します。
ハッシュが一致すれば同じバイト列である可能性が非常に高い一方、更新日時や共有権限まで同じことは示しません。またブックの中身が見た目に同じでも、保存時の内部情報が変わればハッシュは異なることがあります。削除の判断はハッシュだけで決めず、保管場所・参照関係・バックアップを確認してから行ってください。
