<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
    主站蜘蛛池模板: 九九九精品视频免费| 亚洲黄色免费网址| 亚洲aⅴ天堂av天堂无码麻豆| 色影音免费色资源| 亚洲神级电影国语版| 久久午夜伦鲁片免费无码| 亚洲精品制服丝袜四区| 国产免费A∨在线播放| 亚洲午夜久久久久妓女影院 | 亚洲美女在线国产| 一个人看的hd免费视频| 久久伊人亚洲AV无码网站| 黄视频在线观看免费| 中文字幕亚洲一区二区va在线| xvideos永久免费入口| 久久精品国产亚洲网站| 免费国产黄网站在线观看视频| 亚洲综合激情另类小说区| 中文字幕影片免费在线观看| 亚洲色大成网站www永久男同 | 18禁无遮挡无码网站免费| 亚洲精品国产suv一区88| 亚洲Av无码乱码在线znlu| 在线观看片免费人成视频播放| 久久精品国产精品亚洲艾草网| 亚洲精品视频在线观看免费| 亚洲一区二区三区乱码在线欧洲| 国产在线播放免费| 成人A片产无码免费视频在线观看| 亚洲色图综合网站| 永久免费看mv网站入口| 久久久久久av无码免费看大片| 在线观看亚洲一区二区| 日本一线a视频免费观看| 黄视频在线观看免费| 亚洲中文无码av永久| 亚洲天堂免费在线视频| 7m凹凸精品分类大全免费| 爱爱帝国亚洲一区二区三区| 国产亚洲精品美女久久久| 毛片在线看免费版|