hackepetra

Doppelte Dateien anhand eines Teilstring des Dateinamens finden

Hallo zusammen,

ich habe mir schon viele Tools angesehen, die über mehrere Dateien eines Ordners inkl. Unterordner in der Lage sind doppelte Dateien aufgrund des Dateinamens aufzuspüren. AllDup, searchmyfiles, Filelocator, TotalCommander, Notepad++ etc., aber keines scheint mein spezielles Problem lösen zu können oder ich habe schlichtweg etwas übersehen.

Vielleicht kann mir jemand bei der Lösung folgendes Problem behilflich sein:

In einem Ordner c: \Temp befinden sich mehrere hundert Dateien, z.B.

Beleg_4711_20231027.xml
Beleg_4812_20231027.xml
Beleg_4711_20231024.xml
Beleg_4711_20231026.xml
Beleg_4713_20231015.xml

Ich möchte über alle Dateien in dem Ordner diejenigen identifizieren, bei denen der String zwischen den beiden Unterstrichen identisch ist, d.h. für 4711 wären dies Datei 1, 3 und 4.
Hilfreich wäre eine eine weitergehende Möglichkeit, den gesamten Ordner um diese mehrfach vorkommenden Dateien zu bereinigen.

Hat dazu jemand vielleicht eine Idee?

Vielen Dank im Voraus.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 4141478800

Url: https://administrator.de/forum/doppelte-dateien-anhand-eines-teilstring-des-dateinamens-finden-4141478800.html

Ausgedruckt am: 18.07.2025 um 12:07 Uhr

Pjordorf
Pjordorf 27.10.2023 um 21:17:13 Uhr
Hallo,

Zitat von @Hackepetra:
Ich möchte über alle Dateien in dem Ordner diejenigen identifizieren, bei denen der String zwischen den beiden Unterstrichen identisch ist, d.h. für 4711 wären dies Datei 1, 3 und 4.
Hat dazu jemand vielleicht eine Idee?
ChatGPT kann auch dir helfen. face-smile
chat.openai.com/auth/login
In Deutsch und ohne Anmeldung/Registrierung
chatopenai.de/

PS: selbst ein MSDOS find (Konsolenfenster - find /?) kann das schon, musst nur die Platzhalter richtig setzen. Dann ists egal ob Batch, Shell, Powershell oder sonstige Windows Tools.

Gruß,
Peter
7907292512
Lösung 7907292512 27.10.2023, aktualisiert am 28.10.2023 um 09:22:52 Uhr
Unsere Suchfunktion hätte dir hunderte Skripte dazu geliefert die genau das tun, aber es ist Freitag da kann man das ja eh nicht erwarten ...
Powershell
Get-Childitem 'c:\temp' -File -Recurse -Filter *.xml | group {$_.Basename.split('_')[1]} | ? Count -gt 1 | %{$_.Group | select -skip 1 | remove-item -verbose}  
Bereinigt die Duplikate und lässt von diesen jeweils immer nur eine übrig.

Gruß Sid.
Hackepetra
Hackepetra 28.10.2023 um 13:36:03 Uhr
Hallo zusammen,

vielen Dank für Eure Hinweise / Lösungen.

VG