
ファイルをディレクトリに自動的にコピーするプログラムがあり、重複を作成すると次のように名前が付けられます。
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
は必要ありませんFOR
。del
ワイルドカードを受け入れることができます。次を試してください:
del "c:\files\* - 1.xxx"
ディレクトリ内の接尾辞「 - 1.xxx」を持つものすべてに一致します。