Hallo, ich habe ein kleines Renamescript geschrieben das nicht ganz so funktioniert wie ich es mir vorstelle. Vielleicht kann jemand drüber schauen wo mein Fehler liegt.
Es geht um umbenennen von Bilder und Videodateien. Die liegen bei mir in einer Ordnerstruktur nach Jahre 2016, 2015, ..... und darin in weiteren Unterordnern 01, 02, 03... für die Monate. Aktuell benennt das Script wohl nur die Dateien im Unterordner 2016 um ☹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #!/bin/bash # !!! http://wiki.ubuntuusers.de/ExifTool muss installiert sein !!! #Variable Ordnerpfad setzen picdir="/data/files/photo/privat/" viddir="/data/files/video/privat/" exec 8>>/var/log/myrename.log 2>>/var/log/myrename_error.log find "$picdir"[1-2]*"" "$viddir"[1-2]*"" -type f -mtime -99 -iname "[IVPS0D1]*" | while read line do path="${line%/*}/" nameold="${line##*/}" namenew=${nameold#*_} if [[ $nameold == [IVP1]* ]] then echo "$(date) : $line --> $namenew" >&8 mv "$line" "${path}${namenew}" fi if [[ $nameold == [S0D]* ]] then echo "$(date) : $line --> exiftool" >&8 exiftool -P -'Filename<DateTimeOriginal' -d %Y%m%d_%H%M%S.%%e ${path}${nameold} >&8 fi done exit 0 |
Es sollen also alle Dateien die mit einem der Buchstaben/Zahlen anfangen umbenannt werden "[IVPS0D1]" Das klappt aktuell wohl nur unter /data/files/photo/video/2016/12 und 11. Im Unterordner 09 sowie in den Ordnern davor 2015.... nicht mehr. Bei den Photos sieht es auch so aus. Demnach passt wohl hier etwas nicht denke ich: find "$picdir"[1-2]*"" "$viddir"[1-2]*"" -type f -mtime -99 -iname "[IVPS0D1]*"..... Ich komme aber leider nicht drauf......
Bearbeitet von rklm:
Passendes Syntaxhighlighting