Advertisement
Guest User

iphone.bat

a guest
Feb 16th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 3.04 KB | None | 0 0
  1. @echo off
  2. rem D&Dしたフォルダをカレントディレクトリに
  3. cd /d %1
  4. echo 処理フォルダ:%1
  5. rem AAEファイルを削除
  6. del *.AAE
  7. echo AAEを削除
  8.  
  9.  
  10. rem ==========画像を日付リネーム==========
  11. echo jpgをExifからリネーム
  12. for %%a in ( *.jpg ) do (
  13.     call :subimage "%%a"
  14. )
  15. echo pngをメタデータからリネーム
  16. for %%a in ( *.png ) do (
  17.     call :subimage "%%a"
  18. )
  19.  
  20.  
  21. rem ==========PNGをJPGに変換してPNGを削除==========
  22. echo pngをjpgに変換
  23. for %%a in ( *.png ) do (
  24.     call :subpngjpg "%%a"
  25. )
  26. del *.png
  27. echo pngを削除
  28.  
  29.  
  30. rem ==========動画を日付リネーム==========
  31. echo movをメタデータからリネーム
  32. for %%a in ( *.mov ) do (
  33.     call :subvideo "%%a"
  34. )
  35. echo mp4をメタデータからリネーム
  36. for %%a in ( *.mp4 ) do (
  37.     call :subvideo "%%a"
  38. )
  39.  
  40.  
  41. rem ==========終了==========
  42. echo 処理完了
  43. pause
  44. exit
  45.  
  46.  
  47. rem ==========画像を日付リネームサブルーチン==========
  48. :subimage
  49. rem ImageMagickのidentifyコマンドを使ってexif:DateTimeOriginalを出力し環境変数Exifに設定
  50. rem magick identify -verbose %1 > Exif.txt で詳細出力可能
  51. rem for /f "delims=" %%i in ('findstr "exif:DateTimeOriginal" "Exif.txt"') do (set EXIF=%%i)
  52. for /f "delims=" %%a in ('magick identify -format "%%[exif:DateTimeOriginal]" %1') do (
  53.     set "EXIF=%%a"
  54. )
  55. if not defined "%EXIF%" (
  56.     call :noexif %1
  57. )
  58. rem %EXIF% "2017:12:18 12:53:24"(exif:DateTimeOriginal) "2017-12-18T12:53:30+09:00"(date:modify)->"171218_1253"
  59. set EXIF=%EXIF:~2,2%%EXIF:~5,2%%EXIF:~8,2%_%EXIF:~11,2%%EXIF:~14,2%
  60. echo src:%~1 dst:%EXIF%%~x1
  61. if not exist %EXIF%%~x1 (
  62.     ren %1 %EXIF%%~x1
  63. ) else if exist %EXIF%%~x1 (
  64.     set cnt=0
  65.     :loop
  66.     set /a cnt=cnt+1
  67.     if not exist %EXIF%_%cnt%%~x1 (
  68.         ren %1 %EXIF%_%cnt%%~x1
  69.     ) else if exist %EXIF%_%cnt%%~x1 (
  70.         goto :loop
  71.     )
  72. )
  73. exit /b
  74.  
  75. :noexif
  76. for /f "delims=" %%a in ('magick identify -format "%%[date:modify]" %1') do (
  77.     set EXIF=%%a
  78. )
  79. exit /b
  80.  
  81.  
  82. rem ==========PNGをJPGに変換してPNGを削除サブルーチン==========
  83. :subpngjpg
  84. echo src:%~1 dst:%~n1.jpg
  85. magick convert %1 -quality 79 "%~dpn1.jpg"
  86. exit /b
  87.  
  88.  
  89. rem ==========動画を日付リネームサブルーチン==========
  90. :subvideo
  91. rem ffprobeの-show_entriesスイッチを使ってformat_tags=com.apple.quicktime.creationdateを出力し環境変数Exifに設定
  92. rem format_tags=creation_timeは世界標準時
  93. 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 (
  94.     set "EXIF=%%a"
  95. )
  96.  
  97. rem %EXIF% "2018-01-26T19:07:41+0900"->"180126_1907"
  98. set EXIF=%EXIF:~2,2%%EXIF:~5,2%%EXIF:~8,2%_%EXIF:~11,2%%EXIF:~14,2%
  99. echo src:%~1 dst:%EXIF%%~x1
  100. if not exist %EXIF%%~x1 (
  101.     ren %1 %EXIF%%~x1
  102. ) else if exist %EXIF%%~x1 (
  103.     set cnt=0
  104.     :loop
  105.     set /a cnt=cnt+1
  106.     if not exist %EXIF%_%cnt%%~x1 (
  107.         ren %1 %EXIF%_%cnt%%~x1
  108.     ) else if exist %EXIF%_%cnt%%~x1 (
  109.         goto :loop
  110.     )
  111. )
  112. exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement