Windows 10でコマンドプロンプトを使って重複ファイルを検出する方法

Windows 10で重複ファイルを見つけるには、サードパーティ製のツールに頼らずに整理整頓したい場合、コマンドプロンプトが役立ちます。ストレージが同じファイルのコピーで溢れかえってしまうと、容量を圧迫するだけでなく、システムの動作も重くなってしまうことがあります。この方法は驚くほど簡単で、何より追加のソフトウェアは不要です。頼りになるWindows内蔵ツールだけで実行できます。注意点としては、多少手作業が必要で完璧ではありませんが、手軽なチェックには十分です。さらに、慣れてきたら、一部を自動化したり、コマンドをカスタマイズしたりすることも可能です。

Windows 10でCMDを使って重複ファイルを見つける方法

方法1: 重複を検知するためのハッシュの基本

このアプローチは、ファイルのチェックサム(デジタル指紋)を生成し、それらを比較することにかかっています。基本的に、ハッシュが一致するファイルは重複ファイルです。ファイルを個別に開くよりも高速ですが、コマンドラインの魔法が必要になります。同じMD5ハッシュを持つファイルを見つけたら、それらは同一であると自信を持って判断できます。ただし、100%確実というわけではありません。同じチェックサムを持つファイルはほぼ常に重複ファイルですが、メタデータが異なる同じコンテンツが漏れてしまう可能性があります。それでも、ほとんどの個人的な用途では十分な性能です。

ステップ1: 管理者としてコマンドプロンプトを開く

  • [スタート] メニューをクリックし、「cmd」と入力します。
  • コマンドプロンプトを右クリックし、[管理者として実行]を選択します。

管理者として実行することは必ずしも必要ではありませんが、システムフォルダのディープスキャンには役立ちます。また、一部のディレクトリは管理者権限がないとロックされません。環境によっては、コマンドプロンプトを管理者として起動するのが難しい場合があります。その場合は、右クリックして「管理者として実行」を選択することをお勧めします。

ステップ2: 興味のあるフォルダに移動する

  • cdフォルダーへのパスを入力します (例: cd C:\Users\YourName\Documents)。
  • パスが長いか複雑な場合は、フォルダーをコマンド プロンプト ウィンドウにドラッグ アンド ドロップするだけで、パスが自動的に入力されます。

これは、検索対象を特定のフォルダに絞り込むために非常に重要です。ドライブ全体をチェックしたい場合はC:\に移動してください。ただし、出力結果が長くなる可能性があるので注意してください。

ステップ3: すべてのファイルのチェックサムを生成する

  • タイプ:for /r %i in (*) do @certutil -hashfile "%i" MD5
  • Enter キーを押します。

このコマンドはサブフォルダを再帰的にスキャンし、各ファイルのMD5ハッシュを計算します。出力が冗長になる可能性があるため、より詳細な検査を行うために、出力をテキストファイルにリダイレクトすることをお勧めします(例えば、末尾に「>duplicates.txt」を追加するなど)。

ステップ4: 一致するチェックサムを見つけて重複を識別する

コマンドを実行すると、MD5ハッシュ値を持つファイルのリストが表示されます。出力をスクロールするか、保存したテキストファイルを開いてください。ハッシュ値が同一のファイルは重複ファイルです。ハッシュ値を直接比較するスクリプトを書くことも可能ですが、少し複雑です。ほとんどの場合、ハッシュ値の重複を目視で確認すれば、特に注意深く作業すれば、問題なく動作します。

ステップ5: 重複を削除または移動する

  • 確実に削除できるかどうか確認してから削除してください。エクスプローラーでファイルを右クリックして削除するか、delCMDのコマンドを使用してください。その際、ファイル名は必ず確認してください。

大量削除を行う前に必ずバックアップを取ってください。コマンドによって、削除するつもりのないファイルが削除されてしまう場合があるためです。マシンによっては、この処理を数回再試行したり、再起動したりする必要がある場合もあります。Windowsは予期せぬ事態を招くことが多いからです。

Windows 10でCMDを使って重複ファイルを見つけるためのヒント

  • 削除コマンドを実行する前に、重要なファイルをバックアップしてください。
  • ドライブ全体をテストする前に、小さなフォルダーでテストを実行することをお勧めします。不要な事故を防ぐことができます。
  • 注意してください。ファイルが似ているからといって、必ずしも削除したいファイルであるとは限りません。可能であれば、ファイルのサイズとタイムスタンプを確認してください。
  • *.mp3一部のコマンドは、 やなどのワイルドカードと組み合わせて*.pdf特定のファイル タイプを絞り込むとさらに便利になります。
  • 基本的な CMD コマンドに慣れておくと、後で面倒なことがなくなります。

よくある質問

特定のファイルタイプ内の重複のみをターゲットにすることはできますか?

はい、*.jpgまたはなどのワイルドカードを使用すると*.txt、特定の形式に焦点を絞ることができます。

CMD 経由でファイルを削除するのは安全ですか?

重複ファイルだと確信できるなら、可能です。ただし、一度ファイルが消えてしまうと、バックアップがない限り復元するのは困難ですのでご注意ください。

この方法でサブフォルダ内の重複を見つけることができますか?

for /rもちろんです。特に指定しない限り、再帰コマンドはサブフォルダーをスキャンします。

コマンドラインに慣れていない場合はどうすればいいでしょうか?

GUI を備えたサードパーティ製のツールを検討してください。無料のものもあり、CMD の使用に不安がある場合は、より簡単に使用できる場合が多いです。

チェックサムは重複を保証しますか?

信頼性は高いですが、ファイルのチェックサムは同じでもメタデータが異なる場合があります。そのため、可能であれば目視で確認することをお勧めします。

まとめ

  • 管理者としてコマンドプロンプトを開きます。
  • ターゲットフォルダに移動します。
  • チェックサム コマンドを実行して、ファイル名とハッシュを一覧表示します。
  • 重複を示す一致するハッシュを探します。
  • 重複を再確認し、慎重に削除してください。

まとめ

この方法は完璧ではありません。少々粗雑で、多少の手作業が必要ですが、無料ですし、コマンドに慣れている方なら、追加のソフトウェアをインストールすることなく、大量のスペースを節約できます。Windowsは盲目的に操作するため、重複ファイルを見つけるのが難しくなる場合があるため、これらのコマンドを使うことで、より細かい制御が可能になります。ただし、自信過剰になりすぎず、削除するファイルを必ず二重に確認してください。さあ、クリーンアップを始めましょう!