Benennen Sie alle Dateien in einer (großen) Sammlung nach dem Zufallsprinzip um

Ich habe eine große Sammlung von Dateien, alle in einem Ordner. Wie groß ich genau weiß, weiß ich noch nicht, aber ich gehe von 10.000 bis 100.000 aus. Irgendwann werde ich sie jemand anderem geben, aber derzeit sind die Dateinamen nicht akzeptabel anonym. Der Inhalt der Dateien muss nicht geändert werden.

Daher brauche ich ein Tool, mit dem ich jede Datei im Verzeichnis zufällig umbenennen kann. Die Namen sollten nicht auf offensichtlichen Daten oder Metadaten basieren, die den Dateien zugeordnet sind. So wäre es beispielsweise nicht akzeptabel, wenn die neuen Namen auf den mit den Dateien verknüpften Daten oder den aktuellen Namen in irgendeiner Weise basieren würden, die es einem ermöglichen würde, Informationen über die Dateien leicht zu rekonstruieren. Der einzige Teil der Erweiterung, der nicht geändert werden sollte, ist die Erweiterung.

Wie genau es funktionieren wird, interessiert mich nicht besonders. Die neuen Namen könnten pseudozufällig generiert werden, oder sie könnten durch einen ausreichend sicheren Hash gegeben werden. Die Person, der ich sie gebe, ist relativ vertrauenswürdig, daher ist die Sicherheit kein wirkliches Problem (sie werden nicht absichtlich versuchen, die ursprünglichen Namen zu rekonstruieren), aber es würde völlig andere Probleme aufwerfen, wenn ich die Dateien senden würde ohne jeglichen Versuch, sie zu anonymisieren. Die neuen Namen können Hex-Strings oder Dezimalzahlen oder sogar fortlaufende Zahlen sein, die bei einer zufälligen Datei bei 1 beginnen und zufällig fortgesetzt werden. Alles, was offensichtlich keine Informationen über den Inhalt der Datei oder Metadaten enthält, ist akzeptabel.

Ich weiß, dass es ein paar Tools gibt, die dies nur über eine Google-Suche tun können, aber ich weiß nicht, wie gut sie mit einem so großen Set wie meinem umgehen würden. Für das Hashing/zufällige Generieren von Namen muss es in der Lage sein, mit einer beträchtlichen Anzahl von Kollisionen umzugehen. Zum zufälligen Ordnen der Dateien könnten hochkomplexe Algorithmen zum Erzeugen einer zufälligen Permutation langsam sein. Ich brauche es nicht, um sofort zu laufen, aber ich möchte auch nicht tagelang darauf warten, dass es läuft.

Abgesehen von der Geschwindigkeit suche ich etwas relativ Leichtes. Ich erwarte nicht, dass ich dies mehr als ein paar Mal tun muss (wahrscheinlich nur einmal). Im Idealfall wäre es etwas, das ich einmal installieren, sofort ausführen und dann deinstallieren kann. Ich interessiere mich nicht besonders für die Benutzeroberfläche oder detaillierte Anpassungsoptionen. Windows wird bevorzugt, aber ich kann die Dateien ohne allzu großen Aufwand auf Linux übertragen. Ein Webservice, der das Hochladen aller Dateien erfordert, wäre nicht akzeptabel, da die durchschnittliche Dateigröße etwa 2 MB beträgt.

Ein Skript für Linux, das die meisten Dinge tun kann, die Sie wollen, würde wahrscheinlich nur ein paar Zeilen umfassen. Wahrscheinlich ist in Windows dasselbe möglich. Ich bin mir nicht sicher, ob Sie bereit sind, diesen Weg zu gehen?
@Bernhard Ich wäre bereit, diesen Ansatz zu wählen, wenn es wirklich der einfachste ist. Ich bin jedoch kein Programmierer, also würde ich wahrscheinlich mehrere Stunden brauchen, um alles herauszufinden. Angesichts der Tatsache, dass das in dieser Antwort gepostete Skript in viel kleineren Sammlungen als meiner bricht, mache ich mir ein wenig Sorgen, dass es möglicherweise nicht so einfach ist, wie Sie behaupten.

Antworten (2)

RandomNames- Skript von Jason Faulkner:

  • hat Undo-Funktion
  • tragbar

Geben Sie hier die Bildbeschreibung ein

Direkter Download- Link .

Ich habe dieses Skript getestet. Für 50 Dateien funktioniert es gut. Für 1000 gibt es mir zahlreiche "Zugriff verweigert" -Fehler und existiert nach ein paar Minuten, ohne etwas zu ändern. Ich glaube nicht, dass es jemals für die Verwendung mit so vielen Dateien gedacht war, wie ich sie verwende.
@ user2915 Ich würde sagen, das hat nichts mit dem Skript zu tun, da es linear mit der Anzahl der Dateinamen zu skalieren scheint, sondern fehlschlägt, weil Sie versuchen, Dateien umzubenennen, die Sie nicht besitzen.
Dies funktionierte bei mir, allerdings erst, nachdem ich die Dateien auf ein anderes Laufwerk verschoben hatte. Ich weiß nicht, warum es fehlgeschlagen ist, da ich immer der Eigentümer der Dateien war. Vielleicht hat mein Laufwerk einige Probleme, aber auf jeden Fall funktioniert dieses Skript selbst gut.
Ich habe es gerade für 380.000 Dateien in einem Verzeichnis verwendet und es hat perfekt funktioniert. Beachten Sie, dass es einige Zeit dauert, abhängig von Ihrer H/W.

Probieren Sie Advanced Renamer aus :

  • Freeware
  • läuft unter Windows
  • verarbeitet große Mengen an Dateien
  • Überprüfen Sie die Ausgabe, bevor Sie sie tatsächlich umbenennen

Geben Sie hier die Bildbeschreibung ein

Dieses Programm akzeptiert nur maximal 10.000 Dateien gleichzeitig, und ich gehe davon aus, dass ich möglicherweise bis zu 100.000 umbenennen muss. Ich könnte es möglicherweise mehrmals ausführen und mit Namenskollisionen umgehen, aber wenn möglich, würde ich einen einfacheren Ansatz bevorzugen.