<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 40,  trackbacks - 0

    @ECHO OFF

    SETLOCAL EnableDelayedExpansion

    DEL /F /Q picture.txt 2>NUL


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 原理:
    ::
    :: 一般情況下,有EXIF信息的照片,會有三處時間(當然還有特例),第一處格式為:
    ::
    :: 2001:01:01 02:04:18
    ::
    :: 第二、第三處是在一起的,中間有個NULL值,如下:
    ::
    :: 2001:01:01 02:04:18[NULL]2001:01:01 02:04:18
    ::
    :: 我通過WindowsXP和ACDSee8分析了很多張圖片,發現第一處的時間很可能有誤,
    ::
    :: 也就是說,WindowsXP和ACDSee8實際使用的應該是第二或第三處的時間,
    ::
    :: 使用第二處的時間。
    ::
    ::
    :: 注意:
    ::
    :: 1、有些人喜歡把一些秘密藏在圖片中,而秘密有可能包含時間,所以,可能有問題,
    ::
    ::??? 不過,這種情況好像很少?
    ::
    :: 2、由于FINDSTR.EXE命令的局限性(并非真正的正則表達式),錯誤是難免的。
    ::
    ::
    :: 另外:
    ::
    :: 1、開始我把*.jpeg也列入查找,但發現*.jpe可以搜索到*.jpeg,只好剔掉*.jpeg了
    ::
    :: 2、我討厭ACDSee8重命名時,把2001-01-01 02-01-19改成2001-01-01 2-1-19,不好看!
    ::
    :: 3、其實我寫這個的目的就是修改圖片名稱為照相時間,剩下的以后寫
    ::
    ::
    :: Author: NeedJava
    ::
    :: Modified: 2007-08-15/2007-08-24/2007-08-25
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    FOR /R %%a IN ( *.jpg *.jpe *.jfif *.tif ) DO (

    ?? CLS

    ?? ECHO 正在處理〔!%%a!〕

    ?? SET "final=NULL"

    ?? IF "!final!"=="NULL" (

    ????? SET /A times=0

    ????? FOR /F "delims=" %%i IN ( 'FINDSTR.EXE "200 199 201 202" "%%a" 2^>NUL ^| MORE 2^>NUL ^| FINDSTR.EXE /R "\<[1-2][0-9][0-9][0-9][:][0-1][0-9][:][0-3][0-9] [0-2][0-9][:][0-5][0-9][:][0-5][0-9]\>" 2^>NUL' ) DO (

    ????????? SET /A times+=1

    ????????? IF !times! EQU 2 (

    ???????????? SET "parse=%%i"

    ???????????? IF "!parse:~-3,1!"==":" IF "!parse:~-9,1!"==" " (

    ??????????????? SET "parse=!parse:~-19!"

    ??????????????? ECHO Found [!parse!]

    ??????????????? FOR /F "tokens=1,2,3,4,5,6 delims=: " %%A IN ( "!parse!" ) DO (

    ??????????????????? SET "final=%%A-%%B-%%C %%D-%%E-%%F"

    ??????????????? )

    ???????????? )

    ????????? )

    ????? )

    ?? )

    ?? IF "!final!"=="NULL" (

    ????? FOR /F "delims=" %%i IN ( 'FINDSTR.EXE /I "DateTimeOriginal" "%%a" 2^>NUL' ) DO (

    ????????? SET "parse=%%i"

    ????????? IF /I "!parse:~-24,7!"=="</exif:" IF "!parse:~-30,1!"=="+" (

    ???????????? SET "parse=!parse:~-49,19!"

    ???????????? ECHO Found [!parse!]

    ???????????? FOR /F "tokens=1,2,3,4,5,6 delims=-:T" %%A IN ( "!parse!" ) DO (

    ???????????????? SET "final=%%A-%%B-%%C %%D-%%E-%%F"

    ???????????? )

    ????????? )

    ????? )

    ?? )

    ?? IF NOT "!final!"=="NULL" (

    ????? ECHO Parse [!final!]

    ????? ECHO [%%~nxa]>>picture.txt

    ????? ECHO !final!>>picture.txt

    ????? ECHO;>>picture.txt

    ?? )

    )

    GOTO :EOF

    @ECHO ON

    剩下的就是改名了,由于要防備同名,也就是一秒內拍了兩三張這樣的情況,所以需要追加數字序列
    ?

    posted on 2007-08-14 19:42 NeedJava 閱讀(436) 評論(0)  編輯  收藏 所屬分類: DOS Windows
    主站蜘蛛池模板: 国产午夜成人免费看片无遮挡| 三级毛片在线免费观看| 国产jizzjizz视频全部免费| 日韩少妇内射免费播放| 亚洲av无码乱码国产精品| 亚洲一区免费在线观看| 日本亚洲欧美色视频在线播放 | 免费h黄肉动漫在线观看| 在线看片免费人成视频福利| 亚洲一卡二卡三卡| 亚洲精品成人区在线观看| 222www免费视频| 人成免费在线视频| 亚洲丝袜中文字幕| 激情97综合亚洲色婷婷五| 国内精品乱码卡1卡2卡3免费| 一级毛片免费播放男男| 亚洲午夜电影在线观看| 亚洲色欲久久久久综合网| 国产福利在线免费| 国产成人精品免费视频大全| 亚洲乱码在线观看| 亚洲AV无码乱码国产麻豆穿越 | 69堂人成无码免费视频果冻传媒| 羞羞漫画登录页面免费| 色噜噜的亚洲男人的天堂| 久久精品亚洲中文字幕无码网站 | 亚洲黄色在线观看网站| 亚洲Av无码乱码在线znlu| 国产v精品成人免费视频400条| 99re6在线精品免费观看| 国产亚洲成在线播放va| 亚洲中文字幕久久精品无码VA | 亚洲欧洲久久精品| 激情97综合亚洲色婷婷五| 国产免费一区二区三区VR| 日本XXX黄区免费看| 99在线在线视频免费视频观看| 久久精品无码专区免费| 国产精品久久久久久亚洲小说| 亚洲一区在线视频观看|