Ich möchte meine ganze Familie Fotos und Filme organisieren. Ich habe einen Beispielcode, aber ich kann Zeichen in Dateiname nicht austauschen, die Befehle -tr oder -sed in BASH-Code und EXIFTOOL von Phil Harvey verwenden. Hat jemand eine Idee?BASH Umbenennen von Filmdateien mit EXIFTOOL als DATETIME-Format rekursiv [Jahr-Monat-Tag] [DayofWeek] [Stunden.Minuten.Sekunden] .extension
Antwort
Ein Skript ist dafür nicht notwendig, Exiftool kann es selbst machen.
Ihr Befehl würde wie folgt aussehen:
exiftool -ext jpg -ext mov -ext jpeg -ext mpg -ext avi -ext mp4 -d '[%Y-%m-%d][%A] [%H.%M.%S].%%e' '-Filename<MediaCreateDate' '-Filename<DateTimeOriginal' FileOrDir
Die -ext
Option Limit welcher Datei extentions zu operieren.
Die Option -d
und die darauf folgende Vorlage teilt Exiftool mit, welches Format für Datums-/Zeittyp-Tags zu verwenden ist. Weitere Informationen gefunden here
Die nächsten beiden Optionen sagen exiftool, dass die Datei entsprechend den angegebenen Tags (MediaCreateDate oder DateTimeOriginal) umbenannt wird. Frühere Optionen werden durch spätere Optionen überschrieben, daher wird DateTimeOriginal verwendet, falls vorhanden, andernfalls MediaCreateDate. Wenn keines der Elemente vorhanden ist, tritt ein geringfügiger Fehler auf und die Datei wird nicht umbenannt. Das Gleiche passiert, wenn eine Datei mit diesem Namen bereits existiert, aber %%c
kann zu der Datumsformat-Zeichenkette hinzugefügt werden, um dem Dateinamen eine inkrementelle Nummer hinzuzufügen.
Hier ist eine Beispielausgabe, wo ich testname
statt filename
verwendet habe.
'X:/!temp/0615090217.jpg' --> 'X:/!temp/[2009-06-15][Monday] [02.17.00].jpg'
'X:/!temp/2013-07-18_12.19.38 - Copy.Jpg' --> 'X:/!temp/[2013-07-18][Thursday] [12.19.38].Jpg'
'X:/!temp/DSC_7689 after.JPG' --> 'X:/!temp/[2006-08-19][Saturday] [09.13.28].JPG'
'X:/!temp/FujiFilmFinePixF200EXR_F0Standard (Provia).jpg' --> 'X:/!temp/[2009-01-25][Sunday] [14.10.46].jpg'
'X:/!temp/FujiFilmFinePixS5Pro.jpg' --> 'X:/!temp/[2006-12-20][Wednesday] [07.20.58].jpg'
'X:/!temp/IMGP0713-XL.jpg' --> 'X:/!temp/[2011-03-10][Thursday] [14.10.54].jpg'
'X:/!temp/IMGP0852.jpg' --> 'X:/!temp/[2003-04-20][Sunday] [16.36.53].jpg'
'X:/!temp/IMG_0938.JPG' --> 'X:/!temp/[2000-01-02][Sunday] [03.04.10].JPG'
'X:/!temp/RCNX0001.JPG' --> 'X:/!temp/[2015-12-20][Sunday] [09.09.05].JPG'
'X:/!temp/Test1.mp4' --> 'X:/!temp/[2015-12-25][Friday] [15.46.15].mp4'
'X:/!temp/Test4.jpg' --> 'X:/!temp/[2010-07-05][Monday] [12.53.36].jpg'
'X:/!temp/Test4.mp4' --> 'X:/!temp/[2014-11-11][Tuesday] [11.11.11].mp4'
'X:/!temp/tif.jpg' --> 'X:/!temp/[2003-03-03][Monday] [03.03.03].jpg'
'X:/!temp/xyzzy.jpg' --> 'X:/!temp/[2012-04-04][Wednesday] [04.04.04].jpg'
Ich gehe davon aus, dass Sie Linux/Mac und nicht Windows verwenden. Unter Windows würden die einfachen Anführungszeichen in doppelte Anführungszeichen geändert. Fügen Sie -r
hinzu, um zu rekrutieren.
- 1. Dateierweiterungen rekursiv umbenennen
- 2. Dateien rekursiv umbenennen Mac OSX
- 3. Batch umbenennen Dateien mit Bash
- 4. Linux Bash Umbenennen von Dateien
- 5. Bash: Dateien rekursiv entfernen
- 6. Bash Regex Dateien umbenennen
- 7. Bash zu Batch umbenennen Dateien mit Zusatznummern
- 8. Batch umbenennen Dateinamen zwischen Bindestrichen mit bash
- 9. Bash: Kopieren von Dateien rekursiv genannt, Ordnerstruktur
- 10. Get DateTime dayOfWeek/dayOfMonth als String
- 11. Perl: rekursiv alle Dateien und Verzeichnisse umbenennen
- 12. Python Shell Aufruf an exiftool
- 13. Bash-Skript Optimierung Datei umbenennen
- 14. Linux Umbenennen von Dateien als DIRNAME
- 15. rekursiv Dateierweiterungen in Bash ändern
- 16. Umbenennen von Dateien mit Hinzufügen einer Nummer in bash filename
- 17. DateTimeFormat in TypeScript
- 18. Aufruf Exiftool von einem Python-Skript?
- 19. Java DateTimeFormat Muster?
- 20. Iterieren Zeitintervalle von DayOfWeek Arbeitszeit Kalender
- 21. Umbenennen und Verschieben von Dateien in Bash oder Perl
- 22. Bash Schleife durch Ordner und Datei umbenennen
- 23. Datetime DayOfWeek Vergleich
- 24. DAYOFWEEK, jeden Sonntag
- 25. Math mit Aufzählungen (z DayOfWeek) in C#
- 26. .OrderBy (DayOfWeek) zu behandeln Sonntag als Ende der Woche
- 27. mehrere Dateien bash in einem Unterverzeichnis umbenennen
- 28. Bash Umbenennen von Dateien Entfernen zufälliger Zeichenfolge zwischen bestimmten Zeichenfolgen
- 29. Spring DateTimeFormat Konfiguration für java.time
- 30. Bash Dateien umbenennen von "test.file.1" zu "test file 1"
Fragen Sie, wie man 'tr' und' sed' benutzt, um '$ newfilename' zu ändern? ps ändern 'für i in * jpg * mov * jpeg * mpg; * avi * mp4 tun 'zu' für ich in * jpg * mov * jpeg * mpg * avi * mp4; mach es – webb