Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- rem D&Dしたフォルダをカレントディレクトリに
- cd /d %1
- echo 処理フォルダ:%1
- rem AAEファイルを削除
- del *.AAE
- echo AAEを削除
- rem ==========画像を日付リネーム==========
- echo jpgをExifからリネーム
- for %%a in ( *.jpg ) do (
- call :subimage "%%a"
- )
- echo pngをメタデータからリネーム
- for %%a in ( *.png ) do (
- call :subimage "%%a"
- )
- rem ==========PNGをJPGに変換してPNGを削除==========
- echo pngをjpgに変換
- for %%a in ( *.png ) do (
- call :subpngjpg "%%a"
- )
- del *.png
- echo pngを削除
- rem ==========動画を日付リネーム==========
- echo movをメタデータからリネーム
- for %%a in ( *.mov ) do (
- call :subvideo "%%a"
- )
- echo mp4をメタデータからリネーム
- for %%a in ( *.mp4 ) do (
- call :subvideo "%%a"
- )
- rem ==========終了==========
- echo 処理完了
- pause
- exit
- rem ==========画像を日付リネームサブルーチン==========
- :subimage
- rem ImageMagickのidentifyコマンドを使ってexif:DateTimeOriginalを出力し環境変数Exifに設定
- rem magick identify -verbose %1 > Exif.txt で詳細出力可能
- rem for /f "delims=" %%i in ('findstr "exif:DateTimeOriginal" "Exif.txt"') do (set EXIF=%%i)
- for /f "delims=" %%a in ('magick identify -format "%%[exif:DateTimeOriginal]" %1') do (
- set "EXIF=%%a"
- )
- if not defined "%EXIF%" (
- call :noexif %1
- )
- rem %EXIF% "2017:12:18 12:53:24"(exif:DateTimeOriginal) "2017-12-18T12:53:30+09:00"(date:modify)->"171218_1253"
- set EXIF=%EXIF:~2,2%%EXIF:~5,2%%EXIF:~8,2%_%EXIF:~11,2%%EXIF:~14,2%
- echo src:%~1 dst:%EXIF%%~x1
- if not exist %EXIF%%~x1 (
- ren %1 %EXIF%%~x1
- ) else if exist %EXIF%%~x1 (
- set cnt=0
- :loop
- set /a cnt=cnt+1
- if not exist %EXIF%_%cnt%%~x1 (
- ren %1 %EXIF%_%cnt%%~x1
- ) else if exist %EXIF%_%cnt%%~x1 (
- goto :loop
- )
- )
- exit /b
- :noexif
- for /f "delims=" %%a in ('magick identify -format "%%[date:modify]" %1') do (
- set EXIF=%%a
- )
- exit /b
- rem ==========PNGをJPGに変換してPNGを削除サブルーチン==========
- :subpngjpg
- echo src:%~1 dst:%~n1.jpg
- magick convert %1 -quality 79 "%~dpn1.jpg"
- exit /b
- rem ==========動画を日付リネームサブルーチン==========
- :subvideo
- rem ffprobeの-show_entriesスイッチを使ってformat_tags=com.apple.quicktime.creationdateを出力し環境変数Exifに設定
- rem format_tags=creation_timeは世界標準時
- for /f "delims=" %%a in ('ffprobe -v quiet -i %1 -show_entries format_tags^=com.apple.quicktime.creationdate -of default^=noprint_wrappers^=1:nokey^=1') do (
- set "EXIF=%%a"
- )
- rem %EXIF% "2018-01-26T19:07:41+0900"->"180126_1907"
- set EXIF=%EXIF:~2,2%%EXIF:~5,2%%EXIF:~8,2%_%EXIF:~11,2%%EXIF:~14,2%
- echo src:%~1 dst:%EXIF%%~x1
- if not exist %EXIF%%~x1 (
- ren %1 %EXIF%%~x1
- ) else if exist %EXIF%%~x1 (
- set cnt=0
- :loop
- set /a cnt=cnt+1
- if not exist %EXIF%_%cnt%%~x1 (
- ren %1 %EXIF%_%cnt%%~x1
- ) else if exist %EXIF%_%cnt%%~x1 (
- goto :loop
- )
- )
- exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement