ファイル名の日付に基づいてファイルの変更日を変更します。

ファイル名の日付に基づいてファイルの変更日を変更します。

次の形式のファイル名を持つ写真でいっぱいのディレクトリがあります IMG-20160305-WA0001.jpg。撮影日はファイルタイトルにはっきりと表示されます。残念ながら、すべてのファイルには今日の修正日があります。正しい日付にリセットしたいです。

私はbash名前の日付部分を抽出し、touch -a -m -t 201603050900 IMG-20160305-WA0000.jpg各ファイルの日付部分を順番に抽出するスクリプトを考えています(各ファイルに正しい日付を使用)。時間は重要ではありません。

ベストアンサー1

bash文字列操作のみを使用して日付を抽出する例:

#!/bin/bash

for name in IMG-[0-9]*.jpg; do
    touch -amt ${name:4:8}0900 "$name"
done

おすすめ記事