
Ich muss bestimmte Dateien (nur eine Handvoll Erweiterungen) von einer USB-Festplatte extrahieren, die mehr als 2 Millionen Dateien enthält (in allen möglichen Formaten und verschachtelt in mehreren Ebenen von Unterordnern).
Kann mir jemand ein gutes Dienstprogramm empfehlen, das diese äußerst zeitaufwändige Aufgabe übernimmt?
Ideales Szenario:Ich stelle die Parameter ein (die eigentlichen Erweiterungen, die ich wirklich brauche), führe das Tool aus und finde am nächsten Morgen auf meiner USB-Festplatte nur die wenigen Ordner (mit Namen wie „doc & docx“, „xls & xlsx“, „pdf“, „zip“ usw.), die meine Dateien enthalten ... Sonst nichts, keine leeren Ordner und keine anderen Dateien außer diesen mit den von mir angegebenen Erweiterungen. Eventuelle Dateinamenkonflikte können mit einer angehängten fortlaufenden Nummer (oder einem benutzerdefinierten Text) gelöst werden ... Eine Fehlerprotokollierung könnte ein Plus sein (da ich genau dieselbe Kopie auf einer zweiten Festplatte habe, von der ich eventuell einige versehentlich gelöschte Dateien/Ordner „herauspicken“ könnte). Ich werde mich zu einem späteren Zeitpunkt um Duplikate kümmern, aber wenn dieses „Wundertool“ das zuverlässig könnte, hätte ich natürlich nichts dagegen ;)
Danke für jeden kreativen Vorschlag
Antwort1
Danke für Ihren Vorschlag, aber ich bin zu dem Schluss gekommen, dass ich dieses Problem mit einem Batch-Skript lösen werde ... Ich habe es zusammengestellt und es erledigt die Arbeit genau so, wie ich es brauche. Wieder einmal bin ich erstaunt darüber, wie mächtig/nützlich die Befehle einer Batch-Datei sein können!
Ein einfaches, mit Notepad erstelltes Skript erledigt diese Aufgabe nun, ohne dass etwas heruntergeladen oder installiert werden muss und ohne den Windows Explorer einzubeziehen, der offensichtlich nicht mit Ordnern umgehen kann, die zu viele Dateien enthalten.
Manchmal ist die einfachste Lösung tatsächlich die beste!
_________________________________________ BEARBEITEN:
Wie ich bereits im Vorfeld der Bearbeitung sagte, ist das Skript äußerst einfach und da es sich um eine sehr individuelle Operation handelt (es ist nicht so sehr das Skript, sondern eher das von mir verwendete Verfahren, mit dem ich in einem Bruchteil der Zeit das gewünschte Ergebnis erzielt habe), bezweifle ich, dass ein anderer Benutzer es „so wie es ist“ bedienbar finden wird. In der Hoffnung jedoch, dass jemand anders meine Vorgehensweise nützlich findet, um schnell (nur) ein paar Tausend benötigte Dateien aus einer sehr großen Gruppe von Dateien zu verschieben, die sich über die Jahre auf einer externen Festplatte angesammelt haben, habe ich ein Memo geschrieben, das die allgemeine Richtung vorgibt. Jeder, der dann auf diese Fragen und Antworten stößt, muss meine Methode an seine/ihre Bedürfnisse anpassen.
Da die Daten, die ich von der Festplatte extrahieren musste, recht vertraulich (und für mich wertvoll) sind, wollte ich absichtlich jeden Schritt verfolgen und habe daher für jede Gruppe von Erweiterungen einzelne Skripte erstellt (ich habe außerdem absichtlich kein @echo off verwendet, um einen Blick darauf zu werfen, was verschoben wurde)... Natürlich kann dasselbe Verfahren auch (halb-)unbeaufsichtigt ausgeführt werden.
Bitte schön:
1) Stellen Sie sicher, dass der externen Festplattenpartition, von der die Dateien abgerufen werden sollen, der Buchstabe „Y“ zugewiesen ist (für dieses spezielle Skript wurde dieser Buchstabe verwendet, aber natürlich kann auch jeder andere verfügbare Buchstabe verwendet werden).
2) Platzieren Sie in „Y“ alle Ordner (aus denen Dateien gesammelt werden sollen) in einem einzigen Ordner mit dem Namen „- Alle“ (für dieses spezielle Skript ... kann jeder andere Name verwendet werden).
3) Verwenden Sie die großartige Freeware namens Suction (googlen Sie „suction dr nathan“, um sie zu finden) und saugen Sie den Ordner „- All“ ab, um alle Dateien auf die 1. Ebene zu verschieben und auch alle Dateien umzubenennen, die denselben Namen haben. (HINWEIS: Ich habe absichtlich nicht die verfügbare Option „Duplikate löschen“ verwendet, um schneller voranzukommen.)
4) Führen Sie „Ordner im Stammverzeichnis (Laufwerk Y) .bat erstellen“ aus, um alle erforderlichen Ordner zum Hosten der (nach Erweiterung sortierten) Dateien zu erstellen … So in etwa (nach Bedarf anpassen):
mkdir "Y:\ALL Archive files"
mkdir "Y:\All Excel files"
mkdir "Y:\All PowerPoint files"
mkdir "Y:\All Word files"
5) Führen Sie ggf. nacheinander die anderen Batch-Skripte* aus, um die erforderlichen Dateien an die vorgesehenen Ziele zu verschieben … So etwa (nach Bedarf anpassen):
move /-y "Y:\- All\*.zip" "Y:\ALL Archive files"
move /-y "Y:\- All\*.rar" "Y:\ALL Archive files"
move /-y "Y:\- All\*.xls" "Y:\All Excel files"
move /-y "Y:\- All\*.xlsx" "Y:\All Excel files"
move /-y "Y:\- All\*.pps" "Y:\All PowerPoint files"
move /-y "Y:\- All\*.ppsx" "Y:\All PowerPoint files"
move /-y "Y:\- All\*.ppt" "Y:\All PowerPoint files"
move /-y "Y:\- All\*.pptx" "Y:\All PowerPoint files"
move /-y "Y:\- All\*.doc" "Y:\All Word files"
move /-y "Y:\- All\*.docx" "Y:\All Word files"
move /-y "Y:\- All\*.rtf" "Y:\All Word files"
6) Verwenden Sie Ihr bevorzugtes Suchwerkzeug (ich habe „Everything“ verwendet), um zu prüfen, ob im Ordner „- All“ Dateien mit den angegebenen Erweiterungen zurückgeblieben sind (ich weiß nicht, warum tatsächlich 2 oder 3 Dateien zurückgeblieben sind … Unerklärlich! Jedenfalls habe ich diese manuell verschoben).
7) Führen Sie Ihren bevorzugten Duplikatsfinder aus, um eventuelle Duplikate zu entfernen
8) Entfernen Sie alle unnötigen Dateien, die möglicherweise „in der Mitte hängen geblieben“ sind (ich habe eine Menge Dateien gefunden, die ich nicht behalten musste, also habe ich sie an dieser Stelle in den Papierkorb gelegt).
9) Benennen Sie die Hosting-Ordner im Stammverzeichnis von „Y“ um bzw. konsolidieren Sie sie (sofern zutreffend).
10) Löschen Sie den Ordner „- All“, sobald dies sicher möglich ist (ich habe dreimal überprüft, ob der Rest tatsächlich in den Papierkorb gehört).
*(ggf. neue Skripte für andere Erweiterungen und auch die notwendigen Hosting-Ordner im Stammverzeichnis von „Y“ kompilieren)