Löschen doppelter Dateien mit der Windows-Batchdatei

Löschen doppelter Dateien mit der Windows-Batchdatei

Ich habe ein Programm, das Dateien automatisch in ein Verzeichnis kopiert und wenn es ein Duplikat erstellt, benennt es es folgendermaßen:

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

Ich brauche eine Möglichkeit, alle Duplikate mit einer Windows-Batchdatei zu löschen.

Etwas in der Art von:

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

Das wird jedoch nicht funktionieren, denn das würde bedeuten:file with duplicate - 1.xxx - 1

Antwort1

Wenn Sie alle Dateien löschen möchten, deren Name auf endet - ?, waren Sie nah dran.

Versuche dies:

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

Sie müssen die Prozentzeichen verdoppeln, wenn Sie es aus einer Batchdatei ausführen. Und testen Sie zuerst mit einem echostatt mit einem del.

Antwort2

Das ist nicht nötig FOR, delPlatzhalter können akzeptiert werden. Versuchen Sie:

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

Stimmt mit allem mit dem Suffix „-1.xxx“ im Verzeichnis überein.

verwandte Informationen