sh EXIF情报からフォルダ分けする

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh EXIF情报からフォルダ分けする相关的知识,希望对你有一定的参考价值。

#!/bin/bash

# jpgファイルをexif情報からフォルダ格納分類

# 24時間を秒変換定数
DATE_TO_SEC=86400

# 比較日
COMPARE_DATE='2018:04:24'
# 書き出しルートフォルダ
ROOT_FOLDER='Root'

#Rootフォルダ作成
mkdir -p $ROOT_FOLDER

# 日付差分返却関数($1-$2 の秒数で返却)
function dateComp()
{
    # 1970/01/01 00:00:00 からの経過秒に変換(UnixTimeに変換して秒数計算する)
    # [メモ]フォーマット部分はシングルコーテーション必須。ダブルコーテーション駄目
    ARG1_SECOND=`date -j -f '%Y:%m:%d' "$1" '+%s'`
    ARG2_SECOND=`date -j -f '%Y:%m:%d' "$2" '+%s'`
    
    # 差分秒を返却
    expr $ARG1_SECOND - $ARG2_SECOND
}

for filePath in Photos/*.jpg; do
    # jpgから生成日時を抜く
    createDate=`exiftool -CreateDate $filePath`
    fileName=${filePath#*/}
    
    # Prefixの'Create Date : 'を削除
    date=${createDate#* : }
    
    # 後方一致削除で時間を削除する
    date=${date%* *:*:*}
    
    # 日付差分を算出
    ret=`dateComp $date $COMPARE_DATE`
    diffDate=$(($ret/$DATE_TO_SEC))
    
    echo $fileName : $diffDate
    
    baseFolder=$ROOT_FOLDER/$diffDate
    
    mkdir -p $baseFolder
    
    # ファイルを振り分けコピー
    cp $filePath $baseFolder/$fileName
    
done

以上是关于sh EXIF情报からフォルダ分けする的主要内容,如果未能解决你的问题,请参考以下文章

vbscript フォルダの存在を确认して作成する

markdown 共有フォルダを指定すると“vboxsf”不可用

vbscript 阶层フォルダを作成するVBスクリプト

sh 中间人を使っていて建フォルダの忽略がちゃんとされず,脏が残ってしまう

powershell 共有フォルダ作成

python BoostNoteフォルダに画像を送ってクリップボードにパスを入れる