ByteScope

Folder Compare

2つのフォルダを選ぶと、Aだけ・Bだけ・内容が違うファイルを一覧にします。まずサイズで判定し、同じときだけストリーミング SHA-256——すべてローカルで完結します。

どちらのフォルダも、あなたのマシン上でブラウザが開きます。比較もハッシュ計算もここで行われ、どこにも送信されません——アップロードもアカウントも不要で、サーバーにコピーが残ることもありません。

フォルダ A

1 つ目のフォルダを選びます。サブフォルダを含む中のすべてのファイルが一覧されます。大きなファイルは、両側のサイズが同じでない限り読み込みません。

フォルダ
ファイル
0

フォルダ B

2 つ目のフォルダを選びます。パスは選んだフォルダからの相対パスで突き合わせるので、同じツリーの 2 つのバックアップがきちんと対応します。

フォルダ
ファイル
0

ブラウザの対応状況

ファイルをその場でリネーム・削除するには File System Access API が必要で、対応しているのは Chromium 系ブラウザだけです。対応・非対応にかかわらず、以下の操作はすべてこのマシン上で行われます — アップロードは一切ありません。

機能ChromeEdgeFirefoxSafari
ディスクからフォルダを開くwindow.showDirectoryPicker — Chrome/Edge 86 以降、デスクトップのみ対応対応非対応非対応
ファイルをその場でリネームFileSystemFileHandle.move — Chrome/Edge 111 以降対応対応非対応非対応
ファイルをその場で削除FileSystemDirectoryHandle.removeEntry対応対応非対応非対応
次回のためにフォルダを記憶ハンドルはこの端末の IndexedDB に保存されますが、権限は毎回あらためて確認されます対応対応非対応非対応

このブラウザでの検出結果

  • window.showDirectoryPicker
  • FileSystemFileHandle.move
  • indexedDB

Firefox や Safari、またはスマートフォンやタブレットでは、このページは手順を説明できても実行はできません。デスクトップ版の Chrome か Edge で開いてください。

このツールについて

フォルダ A とフォルダ B を選ぶと、このページが両方のツリーを走査して、片側にしかないパスと、両方にあるのに中身が違うパスを教えてくれます。アップロードは一切なく、走査もサイズ比較もハッシュ計算もこのタブの中で完結します。比較ロジックは共有エンジンの compareFolders で、このページが独自のルールをもう 1 部持っているわけではありません。

まずサイズ、それからハッシュ

サイズが違う 2 つのファイルが同じ中身であることはあり得ないので、サイズの不一致はそれだけで結論です。ストリーミング SHA-256 にかけるのは、サイズが同じペアだけ。A では 4 GB、B では 3 GB の動画は 1 バイトも読みません。長さが違うと分かっているディスクイメージを丸ごとハッシュするかどうかは、バックアップ確認が終わるかどうかの分かれ目です。

パスの羅列ではなくツリーで

結果はディレクトリツリーで表示され、各フォルダには配下の「A だけ・B だけ・相違・一致」の件数が付きます。同一のサブツリーは畳んだまま、本当にずれた場所だけを開けます。ツリーの下の表は分類ごとに件数上限つきで一覧します。20 万行を一度に描画するとタブが固まるためです。

このツールがやらないこと

これはバイト単位の厳密な比較で、リネーム検出でも重複ファイル検索でもありません。移動したファイルは「A だけ」と「B だけ」が 1 件ずつになり、同じ写真のサイズ違いは一致しません。チェックサムファイルと 1 つのフォルダの照合には Folder Hash を、削除したい完全に同一のコピー探しには Duplicate File Finder をどうぞ。Binary Diff は 2 つのファイルの相違箇所を表示できますが、ここからファイルを自動で受け渡すことはできません。開いてから A 側と B 側を自分で選んでください。

よくある質問

比較のためにフォルダはアップロードされますか?

いいえ。走査もサイズ比較も SHA-256 の計算もブラウザ内で完結します。ハッシュはローカルのワーカーがチャンク単位でストリーミング処理し、バイト列はどこにも送られません。ページ自体がサーバーを持たない静的ファイルなので、そもそもアップロードする経路が存在しません。

なぜ全ファイルをハッシュしないのですか?

サイズの取得はダイジェストの計算よりずっと安く、サイズが違えばその時点で別物と証明できるからです。ハッシュは両側にあってサイズも同じパスだけに使います。途中で停止した場合、まだ計算していない同サイズのペアは「未ハッシュ」として残り、一致と推測されることはありません。

「読み取り不可」とは何ですか?

走査でパスは見つかったものの、サイズの取得やハッシュ計算ができなかったものです(消えていた、ロックされていた、スキャン中に変わった、など)。「A だけ」「B だけ」とは別物です——あちらは相手側にそのパスが存在しないという意味です。読み取り不可は別枠で表示されるので、バックアップ確認が実在するファイルを「不足」と報告することはありません。

内容が違うファイルから Binary Diff に飛べますか?

このページから Binary Diff を開くことはできますが、2 つのファイルを受け渡す手段はありません。URL パラメータも引き継ぎ機構もないためです。リンクはあくまで、Binary Diff 側でそのパスの A 側と B 側を自分で選ぶための道しるべです。

どのブラウザで動きますか?

デスクトップの Chromium 系(Chrome、Edge、Brave)は File System Access API で 2 つのフォルダを選べて、次回のために記憶もできます。Firefox と Safari でもファイル入力(webkitdirectory)経由で比較はできますが、フォルダの記憶だけはできません。ページ上のサポート表に、今のブラウザで実際に使える機能が表示されます。