.DS_storeをWindowsから消す

 Macと Windowsを両方使っていると、Mac側でアイコンの位置などの情報が入った .DS_storeや「._」で始まる名前のファイルが、各フォルダに作られます。フォルダごとWindowsにコピーした時などにこのファイルもコピーされてしまいます。Macでは必要なファイルですが、Windows上では必要ないのです。

 Macからデータをまとめて移動したので、階層の下のほうにもあるのを手作業で消していくのは面倒です。よい対処法はないかと、探してみた所、「ネットワークボリューム上に.DS_Storeファイルを作らせない」(padmacolors.org)を参考にコマンドで一気に削除する方法が分かりました。

 やり方は、コマンドプロンプトで、MyDocumentに移動してから

attrib -r -h ._* /s /d
del ._* /s
attrib -r -h .DS_Store /s /d
del .DS_Store /s

の4行を実行するだけでOK。スッキリしました。

 時々実行する必要がありそうなら、txtファイルに

@echo off
cls
echo.
echo.中止したい場合は、ctrl+c
echo.
pause
echo.
echo.数分かかる場合もあります。しばしお待ちを...
echo.
attrib -r -h ._* /s /d
del ._* /s
echo.
attrib -r -h .DS_Store /s /d
del .DS_Store /s
echo.
echo.終了しました。
echo.
pause

を貼り付けて、拡張子.batで保存して、WindowsのMy documentに置いておきます。
 後は、削除したい時にWクリックで実行すれば、コマンド プロンプトが開いてファイルを置いてある階層とその下の該当するファイルをザーッと削除してくれます。

—【追記 2009.06.21】————————–
 MacからWindowsにアクセスした時に「.DS_Store」が作成されるのを防止するには、Macのターミナルで、次のコマンドを実行する。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

この後に再起動すると、設定が有効になる。
 同じMacを使っていても設定はユーザ毎なので、複数のユーザがいる時は、それぞれのユーザ毎に実行が必要。

出所: Mac OS X 10.4: ネットワーク接続時に .DS_Store ファイルの作成を抑制する方法

こちらの記事もあわせてどうぞ: