Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

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_pl=0
set /A Day_pl=0
set /A Hour_pl=2
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%
SET /A f_Hour=%f_Hour%+%Hour_pl%
SET /A f_Day=%f_Day%+%Day_pl%
SET /A f_Month=%f_Month%+%Month_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

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 16:53 25-08-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru