USBメモリなどにDS_Storeファイルが生成されるのを防ぐ方法

通常macOSではどのようなフォルダ・ボリューム・ディスクであっても「DS_Store」というFinderウィンドウのサイズや表示オプションの情報が保存された隠しファイルが生成される。

ここではDS_Storeファイルやファイルのサイズを見る方法、更にこのDS_Storeファイルの生成を停止させる方法を紹介する。

DS_Storeファイルを表示したり、ファイルサイズを見るには?

DS_StoreファイルはFinderからは完全な不可視ファイルであり、近年のmacOSではCommand+Shift+.(ドット・ピリオド)の同時押しで隠しファイルを表示させてもDS_Storeファイルは不可視のままである。

ただ、Filezillaなどの無料FTPクライアントやターミナルコマンドでは表示させることが可能であり、更にFilezillaであればファイルサイズも確認可能だ。

Filezillaでは各フォルダやドライブに存在するDS_Storeファイル及びファイルサイズを確認可能な他、直接DS_Storeファイルの削除も可能である。

なお、DS_Storeを含む隠しファイルのターミナルでの表示方法は下記記事をご参照頂きたい。

Macで隠しファイルを検索(一覧表示)する方法

DS_Storeファイルの自動生成をUSBメモリなどの特定ボリュームで無効化する手順

下記の方法でDS_Storeファイルの自動生成を特定のボリュームで無効化することができるが、Finderでそのボリュームを開いた瞬間に再び強制的に生成されてしまうため、あまり有用ではないかもしれないが解説しておこう。

まずターミナルを開き下記のコマンドを実行する。

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

続いて下記のコマンドを実行する。

sudo mdutil -i off -d /Volumes/ボリューム名

「ボリューム名」の部分にはDS_Storeファイルの生成を無効化したいボリューム名を入力する(上記画像ではボリューム名は「Backup」)。

コマンド実行の際にパスワードを求められたら管理者パスワードを入力してエンターキーを押し、処理が完了したらMacを再起動させる。

ちなみにこのコマンドによりSpotlightのインデックス生成も同時に無効化される。

これでDS_Storeの自動生成は無効化されたがUSBメモリなどのボリューム名を変更したり、Finderでそのウィンドウを開いた場合は再びDS_Storeが生成されてしまうため現実的ではないかもしれない。

なお、元に戻す場合は下記のコマンドを実行する。

defaults delete com.apple.desktopservices DSDontWriteUSBStores

DS_Storeファイルの自動生成をネットワークドライブで無効化する手順

ネットワークドライブや共有フォルダなどのDS_Storeファイルの自動生成を無効化したい場合は下記のコマンドを実行する。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

コマンドを実行したらMacを再起動させよう。

元に戻す場合は下記コマンドを実行する。

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

まとめ

DS_StoreファイルはFinderにとって重要なファイルであり、アイコンの並び順や表示オプション、ウィンドウサイズなどが保存されているため完全な無効化は難しい。

近年のmacOSでFinderからはDS_Storeファイルが完全に不可視となったように、将来のmacOSではDS_Storeの生成停止や削除自体も不可能になるかもしれない。