Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Переименование файлов по имени их папок и заданным числам
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
moonbaggi



Joined: 09 Jun 2018
Posts: 7

Post (Separately) Posted: Sun Jun 10, 2018 09:59    Post subject: Reply with quote

Flasher Спасибо!
Как я понимаю данной код нужно сохранить в блокнот в формате vbs.
И создать кнопку в меню инструментов?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Jun 10, 2018 10:18    Post subject: Reply with quote

moonbaggi
Да. Только это панель, а не меню. См. памятку сверху подфорума.

P.S.: Ник вставляется кликом в колонке профиля слева.

P.P.S.: Судя по тому, что bootboy создал схожий запрос (всё та же "Переименовка ...") на другом форуме, со скриптом "справиться" ему, к удивлению, не удалось.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ZorKon71



Joined: 11 May 2010
Posts: 31
Location: Обираловка, МО

Post (Separately) Posted: Wed May 17, 2023 23:29    Post subject: Reply with quote

А можно автоматизировать переименование, если в имени файлов дата?
Например есть:
2022-07-30 16-37-56.mp4
2022-07-30 20-21-53.mp4
2022-07-30 23-19-47.mp4

Нужно прибавить час, т.е. должно получиться:
2022-07-30 17-37-56.mp4
2022-07-30 21-21-53.mp4
2022-07-31 00-19-47.mp4

Как понимаете, простой подстановкой цифр - не получится...
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 303

Post (Separately) Posted: Thu May 18, 2023 11:11    Post subject: Reply with quote

ZorKon71
Да, здесь порстым изменением цифр не обойдешься, здесь нужно преобразовать имя в дату, прибавить час и заново разделить на части и записать в имя. Написал скрипт VBS:
Code:
' Изменяет время в имени файла (прибавляет час)
' например:    2022-07-30 23-37-56.mp4   ->   2022-07-31 00-37-56.mp4
' параметры %WL

on error resume next
Set FSO = CreateObject("Scripting.FileSystemObject")
FileList = WScript.Arguments(0)
List = Split(FSO.OpenTextFile(FileList,,,-1).ReadAll, vbNewLine)

For Each filename In List
  if filename="" then WScript.Quit ' выход на последней пустой строке
  fn = FSO.GetBaseName(filename) ' Имя файла
  ext="." & FSO.GetExtensionName(filename) ' расширение файла
 
  Dy1=mid(fn, 1, 4): Dm1=mid(fn, 6, 2): Dd1=mid(fn, 9, 2) ' вычленяем из имени дату (год, месяц, день)
  Th1=mid(fn, 12, 2): Tm1=mid(fn, 15, 2): Ts1=mid(fn, 18, 2) ' вычленяем из имени время (часы, минуты, секунды)
  dat1=Dd1 & "." & Dm1 & "." & Dy1 & " " & Th1 & ":" & Tm1 & ":" & Ts1 ' преобразование в дату/время

  dat2=dateadd("h", 1, dat1) ' Здесь прибавляем 1 час ко времени
  Dy2=Year(dat2): Dm2=right("0" & Month(dat2), 2): Dd2=right("0" & Day(dat2), 2) ' разбиваем на год, месяц, день
  Th2=right("0" & Hour(dat2), 2): Tm2=right("0" & Minute(dat2), 2): Ts2=right("0" & Second(dat2), 2) ' разбиваем на часы, минуты, секунды
 
  newfnext=Dy2 & "-" & Dm2 & "-" & Dd2 & " " & Th2 & "-" & Tm2 & "-" & Ts2 & ext ' формирование нового имени файла
  FSO.GetFile(filename).Name = newfnext ' переименование файла
next

Работает только для файлов и именно для представленной вами форме записи в примере.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2661

Post (Separately) Posted: Fri May 19, 2023 15:00    Post subject: Reply with quote

Monarch-LFV
Проверил на скорую руку. Работает - даже цифру тысячелетия меняет при необходимости.
Спасибо! Возможно, пригодится когда-нибудь для похожей задачи.
Back to top
View user's profile Send private message
ZorKon71



Joined: 11 May 2010
Posts: 31
Location: Обираловка, МО

Post (Separately) Posted: Sat May 20, 2023 22:21    Post subject: Reply with quote

Monarch-LFV wrote:
Написал скрипт VBS:

Спасибо.
Но это получается TC не причём?

Добавлено спустя 7 минут:

Не пойму как использовать...
Сохранил в change-time.vbs
Запускаю - не помогает...

Видимо я не прав.
Как настроить в ТС?
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 303

Post (Separately) Posted: Sun May 21, 2023 00:52    Post subject: Reply with quote

ZorKon71
Перетащите мышкой файл скрипта на панель инструментов. Создастся новая кнопка. В свойстве этой кнопки в строке параметров пропишите “%WL” (без кавычек).
Далее выделяете файлы в файловой панели и нажимаете эту кнопку. Для безопасности рекомендую сделать копию этих файлов для начала. И еще раз: Работает только для файлов и именно для представленной вами формы записи в примере.
Back to top
View user's profile Send private message
ZorKon71



Joined: 11 May 2010
Posts: 31
Location: Обираловка, МО

Post (Separately) Posted: Sun May 21, 2023 12:23    Post subject: Reply with quote

СПАСИБО!

Всё получилось!!!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group