Windows パソコンで重複・類似ファイルを探す方法【EXCEL活用】

Windows パソコンにあるファイルの整理をしたくなりました。年末だから、、、と言うわけではありませんが、、、

とりあえず保存、念のため保存、更新前に保存、、、
いろいろな想いがあり、ファイルに変名して保存することをよくしています。

フォルダを確認すると、同じようなファイル名が大量にあったりなかったり、、、
目視でチェックできるレベルでないので、ファイルをチェックする方法をまとめてみました。Windows パソコンで、EXCELを使用して重複・類似ファイルを探す方法になります。

今回は、‘_’(アンダースコアorアンダーバー)を使ったファイルを前提としています。

例えば、オリジナルAAA.txtで、とりあえずAAA_1.txtとか、なんとなくAAA_20221201.txtとかでファイル名を作成している場合が対象です。

今回、サンプルではテキストファイル(txt)だけですが、この方法では拡張子は問いません。

サンプルデータ(フォルダ名:FileXを使っています。)


操作方法
1. Windows のスタートボタン右クリックして、「コマンドプロンプト」を選択します。

2.コマンドプロンプト画面が表示されるので、「cd  (半角スペース)」を入力して、該当するフォルダをコマンドプロンプト画面にドラッグ&ドロップします。

3.ディレクトリ情報をテキストファイルに出力するため、コマンドを入力します。
dir > dirlist.txt
※ dirlist.txtは、出力ファイル名のため任意です。
4.2で指定したフォルダにdirlist.txtが出力されるので、テキストエディタで開いてEXCELコピペします。
この時、dirlist.txtの行はカットします。
5.このままでは使いにくいので、ファイル名だけ抽出します。先頭37文字目からファイル名が始まっているので開始位置を37、ファイル名は一定でないので長めに30文字で指定します。
=MID(B3,37,30)
6.拡張子が不要なのでカットします。今回拡張子が3文字なので全体文字列の先頭から4文字(”.txt”)カットします。
=MID(C3,1,LEN(C3)-4)
7.ファイル名になったところで、‘(アンダースコアorアンダーバー)の開始位置を表示します。’‘がない場合、0を表示します。
=IFERROR(FIND(““,D3,1),0)

8.
‘(アンダースコアorアンダーバー)があれば、それ以降カットして表示します。
=IF(E3<>0,MID(D3,1,E3-1),D3)
9.同一文字列が何個存在しているかをカウントします。範囲固定にしたいので、“$”をつけてドラッグします。
=COUNTIF($F$3:$F$10,F3)
10.文字列カウントにフィルタをかけます。
11.文字列カウントで“1”以外(重複分)を指定します。

12.類似ファイルの一覧が表示されるので、この情報をもとにファイルの整理を行います。
この時、最初のDirlist列の「更新日、ファイル容量」をもとにチェック(目視)します。
13.実際の不要なファイルを確認します。

ーーー
2022.12.13追記
ファイル名の付け方に問題が発覚。
AAA.txtで、とりあえずAAA_1.txtという前提でしたが、AAA_1_20221010.txt
という”“が2個あるものがありました。
そのため、以下の設定で、2個目の”
“がある場合の対処を追加しました。

アンダースコア2個目の文字数開始位置
=IFERROR(FIND(““, D3, FIND(““, D3)+1),0)

アンダースコア2個目カット
=IF(I3<>0,MID(D3,1,I3-1),IF(E3<>0,MID(D3,1,E3-1),D3))
アンダースコア2個目でチェック後、アンダースコア1個目で判定しています。

上部へスクロール
Verified by MonsterInsights