[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何统计修改时间相同的文件的数量?

目前遇到一个问题,问题情况如下:
相机会拍摄很多照片,现在需要统计同一修改时间的照片数量有多少?即 2015/12/30 16:20 拍摄的照片一共有60张,目前只能靠手动统计,想做出自动统计,并能生成到execl中。
没接触过批处理,不知道怎么办的? 大家给些思路。 我在论坛里有看到用xcopy命令的但是感觉改改也只能统计一个时间的文件,每次都要重新命令,不知道大家有什么解决办法。谢了。

笨办法
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. for /f "tokens=1,2,4" %%a in ('dir /a-d *.jpg^|find "."') do (
  4.   if not defined %%a%%b (
  5.     for /f "tokens=1,2,4" %%d in ('dir /a-d *.jpg^|find "."') do (
  6.       if "%%a%%b"=="%%d%%e" set /a n+=1
  7.     )
  8.     echo. %%a %%b共拍摄 !n! 张照片
  9.     set n=
  10.   )
  11.   set %%a%%b=1
  12. )
  13. pause
复制代码

TOP

水一发
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (*.jpg) do (
  3.     set "wd=%%~ta"
  4.     set "wd=!wd:/=!"
  5.     set "wd=!wd:-=!"
  6.     set "wd=!wd: =@!"
  7.     set /a #!wd!+=1
  8. )
  9. set #
  10. pause
复制代码

TOP

从相机里面导出的照片可以用 jhead.exe 获取到具体的拍摄时间,例如:
C:\>jhead 1.jpg | findstr "Date/Time"
Date/Time    : 2012:08:09 22:33:45

批量获取到的信息导入Excel之后就方便你排序等其它操作了:
  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  3.     set /p =%%i,<nul
  4.     jhead "%%i" | findstr "Date/Time"
  5. ))>"1.csv"
复制代码

TOP

谢谢大家 我先试试 很有帮助。

TOP

返回列表