找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24528|回复: 4

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

[复制链接]
发表于 2015-12-30 16:33:35 | 显示全部楼层 |阅读模式
目前遇到一个问题,问题情况如下:
相机会拍摄很多照片,现在需要统计同一修改时间的照片数量有多少?即 2015/12/30 16:20 拍摄的照片一共有60张,目前只能靠手动统计,想做出自动统计,并能生成到execl中。
没接触过批处理,不知道怎么办的? 大家给些思路。 我在论坛里有看到用xcopy命令的但是感觉改改也只能统计一个时间的文件,每次都要重新命令,不知道大家有什么解决办法。谢了。
发表于 2015-12-30 17:37:59 | 显示全部楼层
笨办法
  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
复制代码
发表于 2015-12-30 19:48:21 | 显示全部楼层
水一发
  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
复制代码
发表于 2015-12-30 20:03:44 | 显示全部楼层
从相机里面导出的照片可以用 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"
复制代码
 楼主| 发表于 2015-12-31 11:25:15 | 显示全部楼层
谢谢大家 我先试试 很有帮助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:35 , Processed in 0.018185 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表