Kopieren Sie den Inhalt eines intelligenten Ordners in einen neuen Ordner in Mountain Lion

Ich gebe zu, dass meine Musiksammlung ein königliches Durcheinander ist. Dies ist das Ergebnis der Zusammenführung vieler Musikquellen (externes Laufwerk, alte iPod-Synchronisierung, iTunes-Käufe usw.) mit meinem iTunes-Konto. iTunes Match hat es ziemlich gut gemacht, es visuell zu bereinigen, wenn ich es in iTunes betrachte.

Was ich tun möchte, ist, eine Sicherungskopie all meiner Musik zu erstellen, egal wo sie sich befindet (externe HD usw.) an einem Ort und dabei hoffentlich Duplikate zu eliminieren.

Genauer gesagt, ich habe einen intelligenten Ordner eingerichtet, um alle Art zu finden: Musik mit einer Bitrate über 44 kbps. Das ergibt über 20.000 Musikdateien bei rund 485 GB. Ich möchte jetzt all diese Inhalte auf mein externes Laufwerk kopieren, um sicherzustellen, dass ich eine Sicherungskopie all dieser Audiodateien habe.

Ich habe versucht, einfach alles auszuwählen und zum Kopieren zu ziehen, aber das schien nicht zu funktionieren. Nach ein paar Tagen, in denen der Finder "nicht reagiert", habe ich den Prozess abgebrochen. Auf dem externen Laufwerk wurden einige Null-Byte-Dateien erstellt, aber nach den ersten paar Minuten keine Anzeichen von Fortschritt.

Ich frage mich, ob es einen Terminal-Befehl gibt, der auf den Inhalt eines intelligenten Ordners verweisen und ihn kopieren könnte, oder eine andere kreative Möglichkeit, dies zu erreichen.

Ich möchte wirklich nicht mit iTunes herumspielen, ich möchte nur alle Musikdateien auf die externe HD kopieren. Bash-Skript vielleicht?

Das Kopieren von über 485 GB würde definitiv lange dauern, wahrscheinlich 3 Tage bei normaler iMac-Schreibgeschwindigkeit. Es wäre gut, die Dateien in Gruppen von etwa 10 GB aufzuteilen und damit zu arbeiten.

Antworten (1)

Sie könnten in einem Shell-Skript verwenden mdfind, um die Einstellungen Ihres intelligenten Ordners zu simulieren (mit mdfind verwenden Sie Spotlight von der Befehlszeile aus). Verwenden Sie kMDItemKind, um die Art und kMDItemAudioBitRatedie Bitrate anzugeben.

Dann können Sie diese Dateiliste verwenden und sie auf Ihr externes Laufwerk kopieren.

So etwas wie dieses Skript unten. ( scpkopiert Dateien auf einen Server; verwenden cp, um auf ein Laufwerk zu kopieren. Oder, wenn Sie Lust haben, rsyncist im Allgemeinen besser für inkrementelle Sicherungen.)

#!/bin/bash

for FILE in $(mdfind 'kMDItemAudioBitRate >= "44000"')
do
    scp $FILE myname@myserver:~/music-backup
done
kMDItemKind hat nicht funktioniert, aber nach einigem Suchen fand ich heraus, dass kMDItemContentTypeTree = public.audio funktioniert. Dies listet alle Audiodateitypen auf, kann also für einige zu weit gefasst sein.
@knipknup Ja, ich habe mit kMDItemKind herumgestöbert und die einzige Möglichkeit, es richtig zum Laufen zu bringen, war, einen intelligenten Ordner im Finder zu erstellen, "Kind = Music" auszuwählen und die gespeicherte Nummer in die Datei zu kopieren.