Automatisieren Sie das Umbenennen von Dateien in OSX

Beispiel: Wir haben einen Ordner mit 30 Bildern mit inkonsistenten Namen gefüllt. Diese Bilder müssen konsistent und numerisch benannt werden: image1.jpg image2.jpg image3.jpg ... image30.jpg Kann das automatisiert werden?

Author: bwDraco, 2012-08-28

3 answers

Hazel überwacht Ordner auf Änderungen und kann neu hinzugefügte Dateien umbenennen. Werbung mit voll ausgestatteter Demo.

Hazel beobachtet, welche Ordner Sie ihm mitteilen, und organisiert Ihre Dateien automatisch nach den von Ihnen erstellten Regeln. Es verfügt über eine ähnliche Benutzeroberfläche wie Apple Mail, sodass Sie sich wie zu Hause fühlen sollten. Hazel muss Dateien basierend auf Name, Datum, Typ, Website/E-Mail-Adresse verschieben (nur Safari und Mail) und vieles mehr Mehr.

Abbildung


Name Mangler ist ein Dienstprogramm zum Umbenennen von Dateien. Ziehen Sie einfach Dateien per Drag & Drop in das Programmfenster und legen Sie die Regeln fest. Die Vorschau zeigt, wie die Dateien danach benannt werden. Werbung mit voll ausgestatteter Demo.

Der Finder kann viele Dinge gut, aber das Umbenennen vieler Dateien gehört nicht dazu. Geben Sie Name Mangler, die kurze Arbeit aller Ihrer Datei Umbenennen Aufgaben macht.

Abbildung


Dein Mac kommt mit Automator, einem Tool, mit dem Sie sogenannte Workflows erstellen können.

Mit Automator können Sie viel von dem automatisieren, was Sie mit Ihrem Computer machen. Erstellen und drucken Sie ein Familienverzeichnis mit den Kontakten in Ihrem Adressbuch. Suchen und fügen Sie Bilder von Ihren Lieblingswebsites zu iPhoto hinzu. Drucken Sie Ihre Dokumente auf Ihr iPad. Benennen Sie sofort Dutzende von Dateien im Finder um.

Starten Sie es und wählen Sie, um einen neuen Workflow zu erstellen. Von der Bibliothek, fügen Sie eine Get Specified Finder Items - Aktion und eine Rename Finder Items - Aktion hinzu (erstellen Sie keine Kopien der Dateien, wenn Sie danach gefragt werden). Drop & Drop-Dateien bei der ersten Aktion, um sie dem Workflow hinzuzufügen. Konfigurieren Sie die zweite wie gezeigt, um Sequentiell mit new name und getrennt durch nichts. Führen Sie durch Drücken der "Play" - Taste in der Symbolleiste.

Abbildung


Um dies über die Befehlszeile in bash zu tun, geben Sie die übergeordnetes Verzeichnis und führen Sie den folgenden Befehl aus:

declare -i C=1 ; for file in *.jpg ; do mv "$file" "image$C.jpg" ; C=C+1 ; done
 4
Author: Daniel Beck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-28 20:44:24

Sie können einen Shell-Befehl wie diesen verwenden:

i=1;for f in *;do echo mv "$f" image$((i++)).jpg;done

Entfernen Sie echo, wenn die Ausgabe richtig aussieht.

Eine andere Option besteht darin, brew install rename und dann rename -n '$_=$N.".jpg"' * auszuführen. Entfernen Sie -n, wenn die Ausgabe richtig aussieht. $N ist die Dateinummer ab 1, $_ ist die aktuelle Zeile und . wird für die String-Verkettung in Perl verwendet.

Weitere Beispiele:

i=1;for f in *;do mv "$f" $(printf %03d $i).jpg;let i++;done
i=1;for f in *;do mv "$f" $(printf %03d $i).${f##*.};let i++;done
IFS=$'\n';i=1;for f in $(ls -rt);do mv "$f" "$((i++)) $f";done
for f in *.mp3;do mv "$f" "$(printf %02d ${f%% *}) ${f#* }";done
for f in *;do b=${f%.*};x=${f#*.};mv $f ${b%-*}-$(printf %03d ${b#*-}).$x;done
shopt -s extglob;for f in !(*.*);do mv $f $f.txt;done
for f in *;do mv "$f" "${f//[^a-zA-Z0-9.]}";done
rename 's/.*ep(..).*/Example EP$1 720p HDTV x264.srt/' *.srt

${f##*.} entfernt das längste *. - Muster vom Anfang und ${f%.*} das kürzeste .* - Muster vom Ende. ${f//[^a-zA-Z0-9.]} entfernt alle Zeichen außer [a-zA-Z0-9.].

 2
Author: Lri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-02-02 18:06:44

Driveby Antwort, falls jemand in Zukunft auf dieser Seite landet: Yosemite (OSX 10.10) hat dem Finder eine Batch-Umbenennung hinzugefügt, also muss man jetzt nur noch alle Dateien auswählen, die umbenannt werden müssen, mit der rechten Maustaste darauf klicken und Rename X items... auswählen.

 1
Author: mccc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-02-27 16:31:22