View previous topic :: View next topic |
Author |
Message |
aldares
Joined: 28 Dec 2004 Posts: 56
|
(Separately) Posted: Wed Aug 23, 2006 09:30 Post subject: Чем переименовать файлы ПО СПИСКУ? [renamer] |
|
|
Допустим, имеются файлы:
Guyver_the_Bioboosted_Armor_-_01_[RAW]_[E5F6A706].avi
Guyver_the_Bioboosted_Armor_-_02_[RAW]_[A6937759].avi
Guyver_the_Bioboosted_Armor_-_03_[RAW]_[69E9EE0B].avi
Guyver_the_Bioboosted_Armor_-_04_[RAW]_[999BCB32].avi
Guyver_the_Bioboosted_Armor_-_05_[RAW]_[24CFD6E3].avi
....
И субтитры:
Guyver, the Bioboosted Armor - 01 - The Magnificent Bio Boosted Armor.srt
Guyver, the Bioboosted Armor - 02 - The Secret Organization Chronos.srt
Guyver, the Bioboosted Armor - 03 - Inspector Lisker.srt
Guyver, the Bioboosted Armor - 04 - Evening`s Messenger.srt
Guyver, the Bioboosted Armor - 05 - The Third Shadow.srt
Нужно переименовать вторую пачку файлов так, чтобы каждому АВИшнику соответствовал СРТшник. Просто со счетчиком не получится - в АВИшках контрольные суммы в именах - они разные все.
Копирую имена cm_CopyNamesToClip - и сохраняю в текстовый файл. Далее нужна софтина, чтобы могла взять список из текстового файла. Или придется батник/скрипт сочинять... Или как вариант скрипт для TCScript.Helper - тогда можно будет еще проще сделать посылать тоталу нужные команды - cm_CopyNamesToClip, cm_RenameOnly... |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Wed Aug 23, 2006 09:53 Post subject: |
|
|
Такое можно будет сделать в семёрке. Пока что удобного способа нет - разве что батник написать; поиском-заменой его легко сделать, лишь бы редактор был удобный, чтобы поддерживал блочную вставку текста и регулярные выражения. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
StrangeRRor

Joined: 15 Jul 2006 Posts: 214
|
(Separately) Posted: Wed Aug 23, 2006 11:10 Post subject: |
|
|
Может все-таки можно использовать для этого Multi Rename Tool, если прикрутить к нему Script Content Plugin. Правда, кто возмется написать скрипт, который или получает CRC, или берет необжодимую часть из имени файла?
Last edited by StrangeRRor on Wed Aug 23, 2006 11:28; edited 1 time in total |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Aug 23, 2006 11:25 Post subject: |
|
|
StrangeRRor wrote: | Может все-таки можно использовать для этого Multi Rename Tool, если прикрутить к нему Script Content Plugin. Правда, кто возмется написать скрипт, который bли получает CRC, или берет необжодимую часть из имени файла? |
Ну я могу взяться. Только объясните мне, как с CRC работать или по какому принципу выделять часть имени?
Или же можно тупо сделать скрипт, в который передать список выделенных файлов и список новых имен файлов и легко обработать.
Какой вариант устраивает автора темы? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Aug 23, 2006 13:04 Post subject: |
|
|
Если в лоб, то можно с помощью скрипта:
Code: | '==============================================================================
' Переименование выделенных файлов по файлу, содержащему новые имена
'
' В качестве параметров указать:
' %L {полный путь к файлу, содержащему новые имена}
'==============================================================================
Option Explicit
If WScript.Arguments.Count < 2 Then
MsgBox "Указаны не все параметры", _
vbOKOnly + vbExclamation, _
"Переименование файлов"
WScript.Quit
End If
Dim FSO, OTF1, OTF2, FilePath, NewName, oFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF1 = FSO.OpenTextFile(WScript.Arguments(0), 1)
Set OTF2 = FSO.OpenTextFile(WScript.Arguments(1), 1)
Do While (Not OTF1.AtEndOfStream) and (Not OTF2.AtEndOfStream)
FilePath = OTF1.ReadLine
NewName = FSO.GetBaseName(OTF2.ReadLine)
If FSO.FileExists(FilePath) Then
Set oFile = FSO.GetFile(FilePath)
oFile.Name = NewName & "." & FSO.GetExtensionName(FilePath)
End If
Loop
OTF1.Close
OTF2.Close
Set oFile = Nothing
Set OTF1 = Nothing
Set OTF2 = Nothing
Set FSO = Nothing
WScript.Quit |
Сохраняем, например, в %COMMANDER_PATH%\Utils\WHS\RenameFromFileList.vbs
1. Выделить srt-файлы и нажать кнопку:
Code: | TOTALCMD#BAR#DATA
cmd /c copy
%F "%Pfilelist.txt"
%COMMANDER_PATH%\Icons\X-Qute.icl,30
Копирование имен файлов в файл-список
1
-1
|
В текщем каталоге будет создан файл filelist.txt со списком имен выделенных файлов.
2. Выделить avi-файлы и нажать кнопку:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\RenameFromFileList.vbs
%L filelist.txt
%COMMANDER_PATH%\Icons\X-Qute.icl,34
Переименование файлов по списку
-1
|
|
|
Back to top |
|
 |
aldares
Joined: 28 Dec 2004 Posts: 56
|
(Separately) Posted: Thu Aug 24, 2006 05:41 Post subject: |
|
|
>>передать список выделенных файлов и список новых имен файлов и легко обработать.
Было бы замечательно. Потому, что не всегда нужны именно CRC - просто файлы с длинными именами. Т.к. это нужно в основном для переименовывания видео/субтитров аниме сериалов, то файлов редко бывает больше 30, очень редко больше 50, если это нужно.
А если с црц - то просто нужна программа, которая считает црц и работает с командной строки типа tinysfv или smallsfv, или gethash http://anime.nsu.ru/forum/viewtopic.php?t=1291. И контрольная сумма дописывается в конец имени, обычно, как в примере [группа]_название_номер-серии_[инфо-о кодеках][CRC].avi. |
|
Back to top |
|
 |
aldares
Joined: 28 Dec 2004 Posts: 56
|
(Separately) Posted: Thu Aug 24, 2006 05:43 Post subject: |
|
|
Блин, вчера пост не отправил. Щас скрипт потестим.
Потестил
Работает отлично и на локальных дисках и в сети \\server\share\ . Спасибо!
Японские имена не понимает, ну и фиг, это редко требуется, зато без юникода в win98 должно работать, вечером проверю. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Thu Aug 24, 2006 10:24 Post subject: |
|
|
aldares wrote: | А если с црц - то просто нужна программа, которая считает црц и работает с командной строки типа tinysfv или smallsfv, или gethash http://anime.nsu.ru/forum/viewtopic.php?t=1291. И контрольная сумма дописывается в конец имени, обычно, как в примере [группа]_название_номер-серии_[инфо-о кодеках][CRC].avi. |
Ужас какой! Это сколько ж надо выпить, чтобы во всем этом разобраться
Ну, я надеюсь, что приведенный выше скрипт уже вполне устраивает. |
|
Back to top |
|
 |
aldares
Joined: 28 Dec 2004 Posts: 56
|
(Separately) Posted: Thu Aug 24, 2006 10:34 Post subject: |
|
|
Устраивает по самые гланды. |
|
Back to top |
|
 |
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Wed Jul 18, 2012 13:23 Post subject: |
|
|
А можно изменить скрипт таким образом, чтобы изменялось также и расширение файлов? Например .rpt на .log. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri Jul 20, 2012 16:55 Post subject: |
|
|
Если изменить строку
Code: | oFile.Name = NewName & "." & FSO.GetExtensionName(FilePath) | на Code: | oFile.Name = NewName & ".log" | то все файлы будут иметь расширение log.
! | Avada: | С учётом реального содержания тема перенесена из "Общих вопросов" в "Автоматизацию". | _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
|