@Echo Off For %%a In (*.jpg) Do @Call :Rena %%a For %%a In (*.123) Do @Call :Renb %%a GoTo :EOF :Rena Set f_Name=%1 Set f_END=%f_Name:~17% set /A Min_pl=55 Set /A Sec_pl=55 IF %f_Name:~0,1%==0 ( SET /A f_Year=%f_Name:~1,1%) else ( SET /A f_Year=%f_Name:~0,2%) IF %f_Name:~2,1%==0 ( SET /A f_Month=%f_Name:~3,1%) else ( SET /A f_Month=%f_Name:~2,2%) IF %f_Name:~5,1%==0 ( SET /A f_Day=%f_Name:~6,1%) else ( SET /A f_Day=%f_Name:~5,2%) IF %f_Name:~9,1%==0 ( SET /A f_Hour=%f_Name:~10,1%) else ( SET /A f_Hour=%f_Name:~9,2%) IF %f_Name:~12,1%==0 ( SET /A f_Min=%f_Name:~13,1%) else ( SET /A f_Min=%f_Name:~12,2%) IF %f_Name:~15,1%==0 ( SET /A f_Sec=%f_Name:~16,1%) else ( SET /A f_Sec=%f_Name:~15,2%) SET /A f_sec=%f_Sec%+%Sec_pl% SET /A f_Min=%f_Min%+%Min_pl% IF %f_Sec% GTR 59 ( SET /A f_Sec=%f_Sec%-60 SET /A f_Min=%f_Min%+1) IF %f_Min% GTR 59 ( SET /A f_Min=%f_Min%-60 SET /A f_Hour=%f_Hour%+1) IF %f_Hour% GTR 23 ( SET /A f_Hour=%f_Hour%-24 SET /A f_Day=%f_Day%+1) if %f_Month%==1 (Set /A Max_Day=31) if %f_Month%==2 (Set /A Max_Day=28) if %f_Month%==3 (Set /A Max_Day=31) if %f_Month%==4 (Set /A Max_Day=30) if %f_Month%==5 (Set /A Max_Day=31) if %f_Month%==6 (Set /A Max_Day=30) if %f_Month%==7 (Set /A Max_Day=31) if %f_Month%==8 (Set /A Max_Day=31) if %f_Month%==9 (Set /A Max_Day=30) if %f_Month%==10 (Set /A Max_Day=31) if %f_Month%==11 (Set /A Max_Day=30) if %f_Month%==12 (Set /A Max_Day=31) IF %f_Day% GTR %Max_Day% ( SET /A f_Day=%f_Day%-%Max_Day% SET /A f_Month=%f_Month%+1) IF %f_Month% GTR 12 ( SET /A f_Month=%f_Month%-12 SET /A f_Year=%f_Year%+1) rem YYMM_DD__HH-MM-SS__name.JPG rem 012345678901234567 rem 012 if %f_Year% LSS 10 ( set New_FName=0%f_Year%_) else ( set New_FName=%f_Year%_) if %f_Month% LSS 10 ( set New_FName=%New_FName:~0,2%0%f_Month%_) else ( set New_FName=%New_FName:~0,2%%f_Month%_) if %f_Day% LSS 10 ( set New_FName=%New_FName%0%f_Day%__) else ( set New_FName=%New_FName%%f_Day%__) if %f_Hour% LSS 10 ( set New_FName=%New_FName%0%f_Hour%-) else ( set New_FName=%New_FName%%f_Hour%-) if %f_Min% LSS 10 ( set New_FName=%New_FName%0%f_Min%-) else ( set New_FName=%New_FName%%f_Min%-) if %f_Sec% LSS 10 ( set New_FName=%New_FName%0%f_Sec%%f_END%) else ( set New_FName=%New_FName%%f_Sec%%f_END%) ren %F_Name% %New_FName%.123 GoTo :EOF :Renb Set f_NName=%1 Set f_NewName=%f_NName:~0,-4% ren %f_NName% %f_NewName% GoTo :EOF |