Ich habe einen Ordner mit mehreren hundert Videodateien. Alle Dateinamen haben dieses Format:
2011-08-27 11.18.00
Leider ist das „Erstellungsdatum“ für jede Datei das Datum, an dem sie konvertiert wurden (ein Datum im Jahr 2014), nicht das Datum, an dem sie ursprünglich aufgenommen wurde (im Dateinamen angegeben).
Ich habe festgestellt, dass der Operator touch -t verwendet werden kann, um das Erstellungsdatum einer einzelnen Datei zu ändern.
Unten: Datei, bei der ich das Erstellungsdatum (mit obigem Befehl) erfolgreich geändert habe, und Datei, bei der das Erstellungsdatum immer noch falsch ist.
Kann jemand mit dem Terminalcode helfen, der YYYYMMDDhhmm-Informationen aus jedem Dateinamen extrahiert und sie für die touch -t- Operation für diese Datei in einem Batch-Vorgang verwendet?
Ich möchte, dass das Erstellungsdatum / die Uhrzeit korrekt sind, damit sich beim Importieren in meine Bibliothek jede Datei an der richtigen Stelle in der Zeitleiste befindet.
Mac OS: El Capitan 10.11.5
Terminalversion: 2.6.1
Danke an alle.
cd
(einschließlich des abschließenden Leerzeichens) ein und ziehen Sie den Ordner mit den umzubenennenden Dateien in das Terminalfenster (der Ordner ist wahrscheinlich Desktop/PRIMARYVIDEOS
, daher sollte der Befehl wie folgt aussehen cd /Users/Andrew/Desktop/PRIMARYVIDEOS
)tippen (oder kopieren/einfügen)
for f in *; do t=$(echo $f | sed -E 's/[-. mov]//g'); echo touch -t $t "$f"; done
wenn (und nur wenn) dies zu einer Liste von touch
Befehlen führt, die ok aussehen, geben Sie ein (oder kopieren/einfügen)
for f in *; do t=$(echo $f | sed -E 's/[-. mov]//g'); touch -t $t "$f"; done
kein Hang
Andi P
Andi P
Andi P
Andi P