Thumbs.db / .DS_Store の中身を見る
Windows が作る Thumbs.db に残ったサムネイルと、Mac が作る .DS_Store に記録されたファイル名を表示します。何が入っているか確かめてから消せます。すべてブラウザ内で処理し、ファイルは送信されません。
あなたのファイルは安全です — すべてブラウザ内で処理。サーバーには一切送信しません。
Thumbs.db または .DS_Store をここにドロップ
またはクリックして選択。隠しファイルなので、エクスプローラー / Finder で隠しファイルを表示してから選んでください
ファイルはブラウザ内で読み取られ、アップロードされません。
Thumbs.db と .DS_Store — 何が入っていて、消してよいのか
共有フォルダや USB メモリを整理していると、覚えのない Thumbs.db や .DS_Store が出てきます。どちらも OS が自動で作る隠しファイルで、開いても文書は入っていません。Thumbs.db は Windows のエクスプローラーが「サムネイル表示」のために作った縮小画像のキャッシュ、.DS_Store は Mac の Finder がフォルダの表示設定(アイコンの位置、表示形式)を保存したものです。
問題は中身です。Thumbs.db には、元の写真を消したあとも縮小画像が残ります。.DS_Store には Finder が見たファイル名がすべて記録されます。つまり、人に渡すフォルダに混ざっていると、「消したつもりの写真」や「フォルダに何があったか」が伝わります。このツールで中身を確認し、納得してから消してください。
隠しファイルを表示する
Windows はエクスプローラーの「表示」→「隠しファイル」にチェック。Mac は Finder で Command + Shift + .(ピリオド)。これで Thumbs.db や .DS_Store が見えるようになります。
ここにドロップする
ファイルの中身から Thumbs.db か .DS_Store かを判定し、Thumbs.db ならサムネイルの一覧、.DS_Store なら記録されたファイル名と属性の一覧を表示します。
必要な画像は保存する
Thumbs.db のサムネイルは 96×96 や 256×256 程度の小さな画像ですが、元の写真を失っている場合は唯一の手がかりになります。1枚ずつ、または ZIP でまとめて保存できます。
確認したら削除する
どちらのファイルも削除して構いません。フォルダの中の他のファイルには影響しません。Windows で Thumbs.db が「使用中」で消せない場合の対処は下の FAQ に書いています。
Windows Vista 以降のパソコンでは、ローカルのフォルダには Thumbs.db ではなく thumbcache_*.db という別形式のキャッシュが使われ、Thumbs.db はネットワーク上の共有フォルダやリムーバブルドライブでだけ作られます。共有フォルダを NAS に置いている会社で Thumbs.db が増え続けるのはそのためです。
このビューアの仕組み
Thumbs.db と .DS_Store は、どちらも Microsoft と Apple が仕様を公開していない形式です。どちらも過去に解析され、構造は知られています。このビューアはそれぞれを自前で読みます。
- Thumbs.db は複合ファイル
- Word の .doc や Outlook の .msg と同じ OLE 複合ファイル形式です。このサイトの MSG ビューアで実装した複合ファイルの読み取り(FAT・ディレクトリ・ミニストリーム)をそのまま使っています。中には「Catalog」というストリームと、画像ごとのストリームがあります。
- 逆順の名前
- 画像のストリームは、番号の桁を逆に並べた名前で保存されています。12 番目の画像は「21」という名前です。Catalog には番号とファイル名、元ファイルの更新日時が並んでいて、番号で突き合わせて名前を復元します。
- 画像の取り出し
- 各ストリームの先頭には Windows の版で長さが違うヘッダが付き、その後に画像本体(ほとんど JPEG、まれに PNG や BMP)が続きます。ヘッダの長さに頼らず、画像形式のシグネチャを探してそこから切り出しています。
- .DS_Store はバディアロケータ
- 「Bud1」というマジックナンバーで始まり、ブロック割り当て表と B ツリーで記録を管理しています。各記録は「ファイル名(UTF-16BE)・4 文字の項目 ID・4 文字の型・値」で、型は long / shor / bool / blob / type / ustr / comp / dutc の 8 種類です。ツリーを根から辿って全記録を読み出します。
- 日付の変換
- Thumbs.db の日時は Windows の FILETIME(1601 年からの 100 ナノ秒単位)、.DS_Store の日時は Mac の 1904 年からの 1/65536 秒単位です。どちらも通常の日時に変換して表示します。
対応していない範囲
Windows Vista 以降のローカルキャッシュ thumbcache_*.db(CMMM 形式)は開けません。Windows 7 以降が共有フォルダに作る Thumbs.db には元のファイル名が記録されておらず(パスのハッシュだけ)、画像しか取り出せません。Windows XP 初期の一部のサムネイルは、JPEG に必要な表(量子化表・ハフマン表)を持たない内部形式で、ブラウザでは表示できないため「表示できません」と示します。.DS_Store の blob 型の値(ウィンドウ位置などの plist)は中身を展開せず、バイト数だけ表示します。壊れた Thumbs.db では、カタログに名前があっても画像が取り出せないことがあります。