2011-03-10 89 views
3

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

例如:11月1日拍摄的照片名为P1230001.JPG将更名为P1230001_20110123.JPG。

+2

而问题是......--) – JoaquinG 2011-03-10 13:54:45

回答

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