Windows バッチファイルで重複ファイルを削除する

Windows バッチファイルで重複ファイルを削除する

ファイルをディレクトリに自動的にコピーするプログラムがあり、重複を作成すると次のように名前が付けられます。

file with duplicate.xxx
file with duplicate - 1.xxx
file with duplicate - 2.xxx

Windows バッチ ファイルを使用して重複をすべて削除する方法が必要です。

次のような内容です:

FOR %f IN (C:\files\*.*) DO del "%f - 1"

しかし、それはうまくいかない。file with duplicate - 1.xxx - 1

答え1

名前が で終わるすべてのファイルを削除したい場合は- ?、これで完了です。

これを試して:

FOR %%f IN ("C:\files\* - ?.*") DO del "%%f"

バッチ ファイルから実行する場合は、パーセント記号を 2 倍にする必要があります。また、echo最初に ではなくでテストしてくださいdel

答え2

は必要ありませんFORdelワイルドカードを受け入れることができます。次を試してください:

del "c:\files\* - 1.xxx"

ディレクトリ内の接尾辞「 - 1.xxx」を持つものすべてに一致します。

関連情報