我有一个文件夹,里面装满了魔兽世界的截图,我丢失了原始日期戳(日期创建的元数据)。
好消息是所有文件都系统地用日期命名
WoWScrnShot_123109_224259.jpg
WoWScrnShot_092510_213950.jpeg
WoWScrnShot_041813_183548.tga
WoWScrnShot_011315_132530.png
所以它是 WoWScrnShot_MMDDYY_HHMMSS.filetype
我想要一个循环浏览截屏文件夹中所有图片的脚本,并相应地设置元数据。
注意:文件位于jpg / jpeg / tga / png
答案 0 :(得分:0)
这是一个非常丑陋的bash脚本,我之前写了一段时间用于完全相同的目的,我只是修改了一点,所以它适用于OS X.希望它适合你。
#!/bin/bash
FILES=/Path/To/Screenshots/*
for f in $FILES
do
month="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,0,2)}')"
day="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,3,2)}')"
year="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,5,2)}')"
hour="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,8,2)}')"
minute="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,10,2)}')"
second="$(echo $f | sed 's/\.[^.]*$//' | awk '{gsub("/Path/To/Screenshots/WoWScrnShot_", "");print}' | awk '{print substr($0,12,2)}')"
echo $f
SetFile -d "$month/$day/$year $hour:$minute:$second" $f
SetFile -m "$month/$day/$year $hour:$minute:$second" $f
done