Ich versuche, ein Verzeichnis mit Dateien unter bestimmten Bedingungen zu sortieren, aber ich kann das für mein ganzes Leben nicht herausfinden. Hier ein kleines Beispiel einiger Dateinamen, die aussortiert (gelöscht) werden sollen.
Turok 3 - Shadow of Oblivion (USA).zip
Turok 3 - Shadow of Oblivion (Europe).zip
Duke Nukem - Zero Hour (Europe).zip
Duke Nukem - Zero Hour (USA).zip
Gex 64 - Enter the Gecko (Europe).zip
NBA Jam 2000 (Europe).zip
Ich versuche, eine Ausgabe jeder Datei zu behalten, aber es gibt einen Haken, der dies schwierig macht. In dem obigen Fall würde ich die "Gex 64" - und "NBA Jam" -Dateien behalten wollen, da sie die einzigen sind, die dort vorhanden sind. Die "Turok" und "Duke Nukem" haben jeweils zwei Ausgaben, USA und Europa, und hier möchte ich nur die Europa-Ausgaben behalten.
Ich kann das nicht manuell machen, da es sich um Tausende von Dateien handelt. Gibt es eine Software dafür oder ist die Befehlszeile leistungsfähig genug, um eine Batch-Datei dazu zu bringen?
quelle
(USA)
oder(Europe)
?(USA)
oder enden(Europe)
. Einige von ihnen haben denselben Namen, obwohl sie auf eine andere Region abzielen. Eindeutige Dateien sollten auf jeden Fall aufbewahrt werden, doppelte Namen sollten jedoch so behandelt werden, dass nur die(Europe)
Version erhalten bleibt. Ist das korrekt?Antworten:
Batch-Skript
Das Skript kann mehrere Erweiterungen verarbeiten und verwendet standardmäßig das aktuelle Verzeichnis, wenn im ersten Parameter keine angegeben ist.
Hinweis : Das Skript listet nur die Dateien auf, die gelöscht werden sollen, löscht sie jedoch nicht. Wenn Sie sicher sind, dass die Liste korrekt ist, ersetzen Sie die
REM del /f "%%~B"
Zeile in der:deleteDuplicates
Unterroutine durchdel /f "%%~B"
. Bearbeiten Sie zuerst eine Kopie, um sicherzustellen, dass keine Probleme vorliegen.Wie es funktioniert
(Europe
mit$(
in ihren Namen.Bekannte Einschränkungen
Something (Whatever).ext
. B. ).(
werden berücksichtigt.$
Zeichen ist für Sortierzwecke reserviert und sollte überhaupt nicht in Dateinamen enthalten sein.quelle