SDやUSBのドライブにコピーした時にできる.DS_Storeや._hogeファイルを削除する

Mac上のファイル,例えばiTunes MediaのMusicフォルダにあるアーティスト/アルバムごとの音楽データファイルなどを,SDカードなど別のファイルシステムのドライブにコピーする時にできる「.DS_Store」や「._.DS_Store」や「._01 hogehoge.m4a」など,不要なファイルを一気に削除したい時,各ディレクトリに移動して削除するのは手間がかかります.

そんな時にこのRubyのスクリプトを適当なディレクトリに置いて実行してみてください.そのディレクトリ配下全てのディレクトリの中にある,Mac特有の不要なドットファイルを削除してくれます.

なお,実行することで必要だったファイルが消えてしまっても,当方は一切責任を持ちません.あしからず.

Dir.glob("./**/\.*") do |fname|
    next if FileTest.directory?(fname)
    next if fname.include?("._.DS_Store")
    puts fname
    File.unlink fname
end

途中,「._.DS_Store」を無視していますが,「.DS_Store」ファイルを削除したら,なぜか一緒に「._.DS_Store」ファイルも削除されるみたいなので,これをしておかないと,File.unlinkするときに,ファイルが見つかりませんって言われちゃうんで...

まあ,findコマンドを使うっていう手もありますけどね...

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中