批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖
  1. PowerShell "dir 'E:\Test\' -Recurse | ?{$_ -is [IO.FileInfo]} | ForEach{$_.LastWriteTime.ToString('yyyy-MM-dd HH:mm:ss') + ' ' + $_.FullName}"
复制代码

TOP

PowerShell 脚本
  1. [void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
  2. forEach ( $file In (dir E:\Test\*.jpg -File) ){
  3.     $image = [System.Drawing.Image]::fromFile($file.FullName);
  4.     try {
  5.         $propItem = $image.GetPropertyItem(0x9003).Value;        #0x9003=拍摄时间;0x0132=最后更新时间
  6.         $dateStr  = [char[]]$propItem -join '' -replace '\x00$'; #日期字符串
  7.         $dateStr + "`t" + $file.Name;
  8.     } catch {
  9.         "NULL`t`t`t" + $file.Name;   #无拍摄日期时回显NULL
  10.     }
  11. }
  12. pause
复制代码
结果:
2019:07:11 08:12:18     img002.jpg
NULL                    img004.jpg
2019:07:11 08:12:32     img100.jpg
2019:07:11 08:11:47     img101.jpg

TOP

本帖最后由 WHY 于 2019-7-12 13:17 编辑

Test.bat
需要下载第三方工具jhead.exe
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=:" %%i in ('jhead *.jpg ^| findstr /b /r /i /c:"File Name" /c:"Date/Time"') do (
  4.     set "curLine=%%j"
  5.     if "!curLine::=!" NEQ "!curLine!" (
  6.         echo;!curLine:~1! !preLine!
  7.     ) else if /i "!preLine:~-3!" EQU "jpg" (
  8.         echo;NULL !preLine!
  9.     )
  10.     set "preLine=%%j"
  11. )
  12. if /i "!preLine:~-3!" EQU "jpg" (echo;NULL !preLine!)
  13. pause
复制代码
结果:
2019:07:11 08:12:18      img002.jpg
NULL                     img004.jpg
2019:07:11 08:12:32      img100.jpg
2019:07:11 08:11:47      img101.jpg
请按任意键继续. . .

TOP

返回列表