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

[文件操作] 批处理文件如何用创建日期重命名照片?

手机拍摄的照片没有exif信息,所以网上那些工具不适用,找遍网络也没有合适的,想求一段代码,运行后当前目录中相片全变成创建时间为依据的文件名,如20111218-052822.jpg

1 无论从哪方面看,取名以文件最后修改(编辑)时间比创建时间好 2 由于文件读取时间精度为分钟,所以如有同一分钟的文件另加序号以示区别:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir/b *.jpg')do (echo %%i
  3.   for /f "tokens=1-5 delims=-: " %%a in ("%%~ti")do set t=%%a%%b%%c-%%d%%e
  4.   if exist "!t!%%~xi" (set n=1&call :yky "%%i" %%~xi)else (
  5.      ren "%%i" "!t!%%~xi"))
  6. pause
  7. exit
  8. :yky
  9. set/a n+=1
  10. if exist "!t!_%n%%2" goto yky
  11. ren %1 "%t%_%n%%2"
  12. goto :eof
复制代码

TOP

楼主2011-12-19-0506.jpg,这样的可以吗?
  1. for /f "skip=5 tokens=1,4" %%a in ('dir /tc e:\1\*.jpg') do ren e:\1\%%b %%a-%%b
复制代码
赞成“拿来主义”,但是鄙视“伸手党”

TOP

参考参数扩展的%~t1看看~

TOP

能否传一个上来我试试

TOP

返回列表