Serge2005
Full Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору @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 Month_m=0 set /A Day_m=0 set /A Hour_m=4 set /A Min_m=50 Set /A Sec_m=50 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_m% SET /A f_Min=%f_Min%-%Min_m% SET /A f_Hour=%f_Hour%-%Hour_m% SET /A f_Day=%f_Day%-%Day_m% SET /A f_Month=%f_Month%-%Month_m% IF %f_Sec% LSS 0 ( SET /A f_Sec=%f_Sec%+60 SET /A f_Min=%f_Min%-1) IF %f_Min% LSS 0 ( SET /A f_Min=%f_Min%+60 SET /A f_Hour=%f_Hour%-1) IF %f_Hour% LSS 0 ( 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% LSS 1 ( SET /A f_Day=%f_Day%+%Max_Day% SET /A f_Month=%f_Month%-1) IF %f_Month% LSS 1 ( 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 |