web-dev-qa-db-ja.com

同じ名前で拡張子が異なるファイルを削除する

私はたくさんの音楽コレクションを持っています。これは、アーティスト/アルバム/ trackTitleの構造で構成されています。

時間の経過とともに、一部のディレクトリに重複したファイルがあります。私のファイルのほとんどはmp3ですが、それらのいくつかは(同じディレクトリ内の)mp4にも変換されており、現在は重複しているように見えます。それらを取り除きたいのですが、元のファイル名と同じファイル名、異なる拡張子、新しい変更日があります。

Windows10を実行しています。

すべてのフォルダを調べて、削除するmp4を手動で選択することなく、これを行うにはどうすればよいですか?

1
Ondrej

手動で、一度に1つずつ削除したくないという意味だと思います。

Windowsでは、音楽ファイルディレクトリのトップレベルに移動して次のように入力するだけでこれを行うことができます。

DEL *.mp4 /S

'/ S'フラグは、現在のディレクトリだけでなく、すべてのサブディレクトリ内のファイルも削除します。

Linuxでは、これもトップディレクトリから次のように入力します。

find . -name '*.mp4' -exec /usr/bin/rm '{}' \;

'rm -i'などのエイリアスを使用しないように、 'rm'へのフルパスを使用してください。また、スペースを含むファイル名がある場合は、中括弧は引用符で囲みます。


OK、OSはWindowsで、MP4がトラックのonlyバージョンである可能性があります。その場合、削除したくありません。それ。

それを考えると、deduplicate.batは次のようになります。

@ECHO OFF

FOR /F "usebackq delims=" %%i in ( `dir /b /s *.mp4` ) do (
    IF EXIST "%%~dpni.mp3" (
        DEL "%%i"
    )
)

つまり、すべてのMP4ファイルの再帰的なディレクトリリストを作成します。見つかったMP4ファイルごとに、対応するMP3ファイルが存在するかどうかを確認します。これは組み合わせることによって行われます

  1. %% 〜diドライブ文字
  2. %% 〜piファイルパス
  3. %% 〜niファイル名、拡張子を除く

%% 〜dpniに追加し、「。mp3」拡張子を追加します。これにより、MP4ファイルとMP3ファイルが両方とも存在する場合は、同じディレクトリにあることが保証され、特定の名前のMP3ファイルとMP4ファイルに関する上記のコメントで提起された問題に対処します。同じ名前ですが、ディレクトリが異なります。

したがって、MP3ファイルが存在する場合、MP4ファイルは重複しており、安全に削除できます。

そして、完全を期すために...

メモ

  • 名前にスペースがある場合は、ファイル名構造全体を引用符で囲む必要があります。
  • パーセント記号が2倍になっているのは、ファイル内にあるためです。これをコンソールウィンドウに入力すると、 "%%"の各インスタンスは単一の ''になります。
2
geo

重複ファイル削除ツールを試しましたか?、dupeGuru musiceditionと呼ばれるこのソフトウェアをお勧めします。 Windows、Linux、Macをサポートしています。エンコードが異なっていても、類似した音楽ファイルを識別できます。これはフリーウェアであり、開発者によると、不要なソフトウェアをインストールすることはありません。

dupeGuruへのリンク- http://www.hardcoded.net/dupeguru_me/