Eject for WindowsはデスクトップにマウントされたUSBメモリを、中にある「隠しファイル」を消去してから取り出す小さなアプリです。
MacではFinderからは見ることのできないファイルが存在しています。もっとも多いのは
.DS_Store
というファイルで、これはフォルダごとに作られます。しかし、Finderはこれを表示しません。こういうファイルがいたるところにありまが、普段Macを使っているあいだは表示されないため気にすることはありません。
ところが、Windowsとファイルのやりとりをする場合、問題になります。例えばUSBメモリ(フラッシュメモリストレージドライブ)にMacからファイルをコピーしてWindowsユーザにそのファイルを渡すことを考えてみましょう。Windowsではこのような隠しファイルは、例えばWindows XPのデフォルトでは表示されてしまいます。どのみちWindowsでは役に立たないファイルです。
例えば、Macで見るとこのような
USBメモリの中身が、Windowsで見てみると
というように、Macで見るよりたくさんのファイルが見えます。
Eject for Windowsは、このようなWindowsでは無用なファイルを削除してからUSBメモリを取り出す(unmountする)ということを行うアプリです。
Eject for Windowsをデスクトップに置くか、Dockに登録してください。
そこにUSBメモリのアイコンをドラッグ&ドロップしてください。
そうするとUSBメモリ内のWindowsでは不要のファイルは削除された上で、USBメモリのアイコンはデスクトップからなくなります。USBメモリは物理的に取り外せる状態になっています。それだけです。
USBメモリ以外の、例えば通常のファイルをドラッグ&ドロップしても何もしません。フォルダの場合やFAT以外でフォーマットされたUSBメモリの場合は、ユーザに問い合わせます。もちろん、フォルダの場合は取り外しは行われません。
MacではWindowsが読み書きできるファイルシステムであるFAT(FAT32)とexFATフォーマットの読み書きと初期化(ディスクユーティリティを使って)ができます。Windowsユーザとファイルのやりとりをしたいなら、このどちらかでフォーマットされたUSBメモリを使うことになります(Windows XP以降で標準のNTFSは、Macのデフォルトでは読み出しのみ可能です)。そのUSBメモリをMacにマウントして(USBのコネクタに差し込むとデスクトップに表示されて)、そこへMacのファイルをFinderから、あるいはアプリの「保存...」などを使って書き込んだとします。
そのUSBメモリにはFinderからは見えませんが、いろいろよけいなファイルが作られています。それは
| ファイル名 | 内容 | 場所 |
|---|---|---|
| .DS_Store | Finderが使う情報 | フォルダごと |
| 「._」で始まるファイル | リソースフォークが入ったファイル | それぞれのファイルごと |
| .Trashes | ゴミ箱フォルダ | ボリュームのトップレベル |
| .Spotlight-V100(あるいは.Spotlight) | 検索用データ | ボリュームのトップレベル |
| .fseventsd | 内容変更のタイミング情報 | ボリュームのトップレベル |
などのたくさんのファイルがあります。これらのファイルはMacでは意味があって使い勝手の向上に役立っていますが、Windowsでは無用の長物です。Eject for WindowsはFATあるいはexFATフォーマットのボリュームの中のこう言ったファイルを探し出して削除したあと、取り出します。
また、USBメモリだけでなく、
である外付け記憶装置に対して動作します。例えば3.5インチフロッピーディスクやFireWire接続のハードディスクでも同じ操作ができます。
Eject for WindowsはMac OS X10.5以降で動作します。PowerPC32ビット、Intel32、64ビットの3アーキテクチャユニバーサルバイナリです。10.7Lionでも動作可能なはずですが、確認していません。また、10.4以前、あるいはWindowsその他のOSでは動作しません。
これを書いている時点でのバージョンとビルドナンバは1.0 (20110920a)です。
Eject for Windowsは、今後発生するであろうバージョンも含めてGPLに準拠します。
バグレポートは
decafish@gmail.com
までお願いします。アプリの感想も歓迎します。
バグレポートをコメント欄に入れていただいてもかまいません。
プログラミングに関する技術的な詳細は、作者のサイトにあります。
いきさつとunixのfindコマンド、NSWorkspaceによるリムーバブルメモリの扱いについて、のそれぞれの記述があります。