重命名文件以在文件名中包含修改日期

时间:2011-03-10 13:51:07

标签: batch-file

我正在尝试编写一个批处理文件,将JPG文件从我的数码相机复制到我的硬盘上。但是,我也希望它将文件的日期包含在名称中。

例如:1月23日拍摄的照片命名为P1230001.JPG将重命名为P1230001_20110123.JPG。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

这是一个帮助程序批处理文件,可以执行您想要的操作。它需要一个参数来重命名文件,并重命名附加日期的文件。希望这会有所帮助。

@echo off
setlocal

if "%1"=="" goto USAGE
set file_name=%1
set name=%~n1
set ext=%~x1

dir %file_name% | findstr /i %file_name% > y.tmp

for /f "tokens=*" %%i in (y.tmp) do (
set line=%%i
)

del y.tmp

set month=%line:~0,2%
set day=%line:~3,2%
set year=%line:~6,4%

ren %file_name% %name%_%year%%month%%day%%ext%

goto EOF

:USAGE

echo %0 file_name

:EOF
endlocal