Hallo,
ich versuche seit einiger Zeit in mehreren tausend Dateien, die einen Datums- und Uhrzeit Anteil im Namen haben, wie z. B.
"Beispiel01dateiname 20170202 1015.txt"
und sich nur in diesen Ziffern im Dateinamen unterscheiden. Die Größe, Datum und Inhalt können leicht unterschiedlich sein, sind dann aber trotzdem als Duplikate zu löschen. Der Dateiname kann auch Ziffern enthalten. Eine zu löschende Datei wäre z.B.
"Beispiel01dateiname 20170203 1115.txt".
Meine Idee war, eine Maske für die Ignorierung zu erstellen. Etwa "######## ####", aber das funktioniert nicht.
Denke ich falsch oder gibt es eine andere Möglichkeit?
Vielen Dank
Suche nach Dateinamen mit ignoriertem Textteil
-
- Site Admin
- Posts: 4050
- Joined: 04 Oct 2004, 18:38
- Location: Thailand
- Contact:
Re: Suche nach Dateinamen mit ignoriertem Textteil
Selbst wenn Sie einen Filter erstellen, der nur solche Dateien findet; es fehlt immer noch eine Gemeinsamkeit anhand der AllDup die Dateien als Duplikate einstuft.
Nach Ihrer Beschreibung zu urteilen benötigen Sie kein Programm das Duplikate findet, sondern ein Tool, welches nach Dateinamen mit einen konfigurierbaren Muster sucht...
Nach Ihrer Beschreibung zu urteilen benötigen Sie kein Programm das Duplikate findet, sondern ein Tool, welches nach Dateinamen mit einen konfigurierbaren Muster sucht...
Re: Suche nach Dateinamen mit ignoriertem Textteil
Vielen Dank für die Antwort. Aber so ganz verstehe ich sie nicht.
Wenn der Abgleich nur über den Dateinamen erfolgt und der "Datums- und Uhrzeit - Teil" des Dateinamens ignoriert wird, dann bleibt doch der Rest des Dateinamens zum Vergleich über. Wenn es möglich wäre, dass 10 aufeinander folgende Ziffern, ein Leerzeichen und dann noch 4 Ziffern ignoriert werden, dann bleibt doch nur der "Namensteil" des Dateinamens übrig. Und wenn der gleich ist, dann wäre es ein Duplikat. Leider sind die Dateinamen auch unterschiedlich lang, sonst könnte ich die Funktion "nur die ersten xxx Zeichen vergleichen" nutzen. Oder gibt es so etwas wie: Die letzten xxx Zeichen ignorieren? Das wäre auch eine Lösung für mich.
Beispiel Duplikat:
Dateiname01 20170201 1000.txt
Dateiname01 20170305 1500.txt
Beispiel kein Duplikat:
Dateiname01 20170201 1000.txt
Dateiname02 20170305 1500.txt
Hier wäre der Unterschied im Dateinamen NICHT in der Maske.
Wenn der Abgleich nur über den Dateinamen erfolgt und der "Datums- und Uhrzeit - Teil" des Dateinamens ignoriert wird, dann bleibt doch der Rest des Dateinamens zum Vergleich über. Wenn es möglich wäre, dass 10 aufeinander folgende Ziffern, ein Leerzeichen und dann noch 4 Ziffern ignoriert werden, dann bleibt doch nur der "Namensteil" des Dateinamens übrig. Und wenn der gleich ist, dann wäre es ein Duplikat. Leider sind die Dateinamen auch unterschiedlich lang, sonst könnte ich die Funktion "nur die ersten xxx Zeichen vergleichen" nutzen. Oder gibt es so etwas wie: Die letzten xxx Zeichen ignorieren? Das wäre auch eine Lösung für mich.
Beispiel Duplikat:
Dateiname01 20170201 1000.txt
Dateiname01 20170305 1500.txt
Beispiel kein Duplikat:
Dateiname01 20170201 1000.txt
Dateiname02 20170305 1500.txt
Hier wäre der Unterschied im Dateinamen NICHT in der Maske.
-
- Site Admin
- Posts: 4050
- Joined: 04 Oct 2004, 18:38
- Location: Thailand
- Contact:
Re: Suche nach Dateinamen mit ignoriertem Textteil
Hier drei verschiedene Dateifiltertexte für Ihre Beispieldateien:
Dateiname01 ######## ####.txt
oder
Dateiname01*.txt
oder
*01 ######## ####.txt
Dateiname01 ######## ####.txt
oder
Dateiname01*.txt
oder
*01 ######## ####.txt
Re: Suche nach Dateinamen mit ignoriertem Textteil
Nochmals Danke für die Mühe, aber es geht ja nicht um einen Dateifilter, denn es sollen ja ALLE Dateien verglichen werden.
Es sollen aber nur Teile des Dateinamens verglichen werden, nämlich vom 1. Zeichen an bis VOR den 8 Ziffern, die das Datum darstellen. Die vorderen Dateinamen sind komplett unterschiedlich (bis auf die Dubletten natürlich). Wenn also die ersten, immer unterschiedlich langen, Dateinamen übereinstimmen, handelt es sich um eine doppelte Datei, die gelöscht werden kann.
Es sollen aber nur Teile des Dateinamens verglichen werden, nämlich vom 1. Zeichen an bis VOR den 8 Ziffern, die das Datum darstellen. Die vorderen Dateinamen sind komplett unterschiedlich (bis auf die Dubletten natürlich). Wenn also die ersten, immer unterschiedlich langen, Dateinamen übereinstimmen, handelt es sich um eine doppelte Datei, die gelöscht werden kann.
-
- Site Admin
- Posts: 4050
- Joined: 04 Oct 2004, 18:38
- Location: Thailand
- Contact:
Re: Suche nach Dateinamen mit ignoriertem Textteil
Wie schon zuvor geschrieben, benötigen Sie hierfür ein Tool, welches nach Dateinamen mit einen konfigurierbaren Muster sucht, da dies mit AllDup nicht möglich ist.
Persönliche Empfehlung: "Agent Ransack - Free File Searching Utility" https://www.mythicsoft.com/agentransack
Persönliche Empfehlung: "Agent Ransack - Free File Searching Utility" https://www.mythicsoft.com/agentransack
Re: Suche nach Dateinamen mit ignoriertem Textteil
OK. Danke für die Info. Ich habe mir die Beschreibung mal angeschaut. Das scheint sehr gut zu sein, aber der Hauptzweck ist ja wirklich das Suchen von Dateien. Kann das auch Duplikate löschen? Davon hab ich noch nichts gelesen. Aber ich schaue es mir einmal genau an.
Nochmals Danke für die Mühe.
Bis dann
Nochmals Danke für die Mühe.
Bis dann
-
- Site Admin
- Posts: 4050
- Joined: 04 Oct 2004, 18:38
- Location: Thailand
- Contact:
Re: Suche nach Dateinamen mit ignoriertem Textteil
Das nächste Update von AllDup wird die Option zum Ignorieren von einer bestimmten Anzahl von Zeichen am Ende eines Dateinamen besitzen.
- Attachments
-
- Neue Option "Ignoriere Zeichen am Ende eines Dateinamen"
- Screenshot - 20.05.2017 , 22_00_11.png (8.37 KiB) Viewed 10877 times
Wunsch: Regex zum ignorieren von Dateinamen-Teilen
Das finde ich sehr praktisch, danke!Administrator wrote:Das nächste Update von AllDup wird die Option zum Ignorieren von einer bestimmten Anzahl von Zeichen am Ende eines Dateinamen besitzen.
Wäre es möglich, in einer zukünftigen Version zusätzlich einen Regex einbinden zu können, der bestimmt, welche Teile eines Dateinamens ignoriert werden sollen?
Das würde dem Wunsch des Threaderstellers genüge tun und mehr Flexibilität gewähren, als einfach "nur" die letzten n Zeichen des Dateinamens zu ignorieren.
So würde z.B. mit diesem Regex (Quelle zum Testen)
Code: Select all
[ ].*\d
dieses hier (2)Beispiel01dateiname 20170202 1015.txt
Beispiel01dateiname 20170203 1115.txt
M.E. wäre dies exakt das, was der Threadersteller benötigt um seine gewünschten Duplikate zu finden und dann löschen zu lassen, sofern AllDup die Dateinamen (2) -nach Regex- zur Suche benützen würde/könnte.Beispiel01dateiname.txt
Beispiel01dateiname.txt
Ich jedenfalls, fände dies eine gelungene Erweiterung des jetzt schon sehr breiten Funktionsumfangs!
(Freie Bibliotheken zum Einbinden von Regex'en in AllDup gibt es diverse, je nach Programmiersprache, so dass das Rad nicht neu erfunden werden müsste.)