Windowsコマンドプロンプトでディスク上の重複ファイルを探して削除する方法

この記事では、Windowsコマンドプロンプトを利用してディスク上の重複ファイルを探し、それを削除する方法について詳しく解説します。具体的なコード例やその解説、応用例を含めて紹介します。

目次

ディスク上の重複ファイルの探し方

コマンドプロンプトを使用すると、特定の条件に一致するファイルを簡単に探すことができます。次に示すコードは、ファイルの内容が同じである可能性のあるファイルを探します。

for /R %i in (*) do @fc /b "%i" "%~pi\..\*.*" | findstr "FC: 一致しない行" > nul || echo %i

このコードは、現在のディレクトリとそのすべてのサブディレクトリで重複するファイルを探します。見つかったファイルのパスが出力されます。

コードの詳細解説

– `for /R %i in (*)`:現在のディレクトリとすべてのサブディレクトリを再帰的に検索します。
– `@fc /b`:2つのファイルをバイナリモードで比較します。
– `findstr “FC: 一致しない行”`:ファイルの内容が異なる場合のメッセージを検索します。
– `> nul`:コマンドの出力を非表示にします。
– `|| echo %i`:ファイルの内容が同じ場合、そのファイルのパスを出力します。

重複ファイルの削除方法

見つけた重複ファイルを削除するには、以下のコードを使用します。

for /R %i in (*) do @fc /b "%i" "%~pi\..\*.*" | findstr "FC: 一致しない行" > nul || del %i

応用例

特定の拡張子の重複ファイルのみを検索

例えば、.txtの拡張子を持つ重複ファイルのみを検索する場合は、次のコードを使用します。

for /R %i in (*.txt) do @fc /b "%i" "%~pi\..\*.txt" | findstr "FC: 一致しない行" > nul || echo %i

重複ファイルのサイズを比較

重複するファイルが同じサイズかどうかも確認できます。

for /R %i in (*) do @if %~zi==%~zi @fc /b "%i" "%~pi\..\*.*" | findstr "FC: 一致しない行" > nul || echo %i

指定したディレクトリからの重複ファイル検索

特定のディレクトリから重複ファイルを検索するには、以下のようにします。

for /R C:\example\ %i in (*) do @fc /b "%i" "%~pi\..\*.*" | findstr "FC: 一致しない行" > nul || echo %i

一時フォルダにある重複ファイルを削除

一時フォルダに格納されている不要な重複ファイルを削除する方法です。

for /R %TEMP% %i in (*) do @fc /b "%i" "%~pi\..\*.*" | findstr "FC: 一致しない行" > nul || del %i

まとめ

Windowsのコマンドプロンプトは、複雑なファイル操作やシステム管理タスクを行う強力なツールです。この記事で紹介した方法を使用することで、重複ファイルの検索や削除を効率的に行うことができます。これを機に、コマンドプロンプトを使ってより高度なシステム管理を行ってみてはいかがでしょうか。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次