Thumbs.dbを一発削除!ドラッグするだけの簡単ツール

Thumbs.db削除

Windowsでは勝手に「Thumbs.db」ファイルが作られる。これが地味に邪魔だ。
自宅のPCでは作成されないように設定しているが、会社ではそうもいかない。
自分だけ設定しても、他の社員が未設定だと、NAS上の写真フォルダーにThumbs.dbが生成されてしまう。

たまに気になって削除しようとするが、普通に削除しようとしても消せないことが多い。
簡単な削除方法としては、メモ帳などで開いて中身を全選択してDeleteキーで削除 → 保存。
その後、Thumbs.dbファイル自体を削除できるようになる。

ただ、複数ファイルがあるとこの作業は面倒だ。
もっと簡単に削除できないか、いろいろ試してみた。

バッチファイルやPowerShellで処理を組んでみたが、うまくいかなかった。
ファイルを開いて中身を削除 → 保存する処理がうまく動かない。
Thumbs.dbが使用中なのが原因かもしれない。権限変更も試したが、結果は変わらず。
自分の知識不足もあると思うが、バッチとPowerShellは諦めた。

それならWindowsプログラムはどうだろうと思って、C#でコンソールアプリを作ってみた。
結果は「成功」だった。

とはいえ、プログラムは全部AIに書かせた。GUIなしのシンプルな構成だ。
最近は頭を使わなくてもプログラムが作れる時代になっていて、ちょっと怖い。

以下にソースコードを載せるが、ツッコミどころは多いかもしれない。
ただ、目的が達成できればそれでいい。
ちなみに、Console.WriteLineでメッセージを表示しているが、処理が一瞬で終わるので画面にはほぼ表示されない。

ファイル構成
 ・ソースコード:Thumbs_db_del.cs
 ・作成される実行ファイル:Thumbs_del.exe

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        if (args.Length == 0)
        {
            Console.WriteLine("ファイルまたはフォルダをドラッグしてください。");
            return;
        }

        foreach (var path in args)
        {
            if (File.Exists(path))
            {
                if (Path.GetFileName(path).Equals("Thumbs.db", StringComparison.OrdinalIgnoreCase))
                {
                    TryDelete(path);
                }
            }
            else if (Directory.Exists(path))
            {
                var thumbsFiles = Directory.GetFiles(path, "Thumbs.db", SearchOption.AllDirectories);
                foreach (var file in thumbsFiles)
                {
                    TryDelete(file);
                }
            }
        }
    }

    static void TryDelete(string filePath)
    {
        try
        {
            File.Delete(filePath);
            Console.WriteLine(string.Format("削除: {0}", filePath));
        }
        catch (IOException)
        {
            Console.WriteLine(string.Format("使用中: {0}", filePath));
        }
        catch (Exception ex)
        {
            Console.WriteLine(string.Format("エラー: {0} - {1}", filePath, ex.Message));
        }
    }
}

コンパイル方法
コマンドプロンプトでソースコードのあるフォルダーに移動して、以下のコマンドを実行する

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /optimize+ /out:Thumbs_del.exe Thumbs_db_del.cs
※ “4.0.30319” は環境に合わせて変更すること。

コンパイルが面倒な方のためにThumbs_del.exeファイル(zip形式)を置いとく
ダウンロードはここ
(ウイルスチェック済み)

使い方
作成した Thumbs_del.exe(またはショートカット)をデスクトップに置いて、削除したい Thumbs.db ファイルや、それを含むフォルダーをドラッグ&ドロップすればOK。
これで、面倒なThumbs.dbの削除が一気に楽になる!

【注意】
このプログラムの利用により何か問題が起きても、作成者は責任を負えませんので、自己判断でご利用ください。

コメント