Чем переименовать файлы ПО СПИСКУ? [renamer]
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Чем переименовать файлы ПО СПИСКУ? [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...
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...
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
- StrangeRRor
- Сообщения: 214
- Зарегистрирован: Сб июл 15, 2006 13:16
Может все-таки можно использовать для этого Multi Rename Tool, если прикрутить к нему Script Content Plugin. Правда, кто возмется написать скрипт, который или получает CRC, или берет необжодимую часть из имени файла?
Последний раз редактировалось StrangeRRor Ср авг 23, 2006 11:28, всего редактировалось 1 раз.
Ну я могу взяться. Только объясните мне, как с CRC работать или по какому принципу выделять часть имени?StrangeRRor писал(а):Может все-таки можно использовать для этого Multi Rename Tool, если прикрутить к нему Script Content Plugin. Правда, кто возмется написать скрипт, который bли получает CRC, или берет необжодимую часть из имени файла?
Или же можно тупо сделать скрипт, в который передать список выделенных файлов и список новых имен файлов и легко обработать.
Какой вариант устраивает автора темы?
Если в лоб, то можно с помощью скрипта:
Сохраняем, например, в %COMMANDER_PATH%\Utils\WHS\RenameFromFileList.vbs
1. Выделить srt-файлы и нажать кнопку:
В текщем каталоге будет создан файл filelist.txt со списком имен выделенных файлов.
2. Выделить avi-файлы и нажать кнопку:
Код: Выделить всё
'==============================================================================
' Переименование выделенных файлов по файлу, содержащему новые имена
'
' В качестве параметров указать:
' %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.Quit1. Выделить srt-файлы и нажать кнопку:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c copy
%F "%Pfilelist.txt"
%COMMANDER_PATH%\Icons\X-Qute.icl,30
Копирование имен файлов в файл-список
1
-1
2. Выделить avi-файлы и нажать кнопку:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\RenameFromFileList.vbs
%L filelist.txt
%COMMANDER_PATH%\Icons\X-Qute.icl,34
Переименование файлов по списку
-1
>>передать список выделенных файлов и список новых имен файлов и легко обработать.
Было бы замечательно. Потому, что не всегда нужны именно CRC - просто файлы с длинными именами. Т.к. это нужно в основном для переименовывания видео/субтитров аниме сериалов, то файлов редко бывает больше 30, очень редко больше 50, если это нужно.
А если с црц - то просто нужна программа, которая считает црц и работает с командной строки типа tinysfv или smallsfv, или gethash http://anime.nsu.ru/forum/viewtopic.php?t=1291. И контрольная сумма дописывается в конец имени, обычно, как в примере [группа]_название_номер-серии_[инфо-о кодеках][CRC].avi.
Было бы замечательно. Потому, что не всегда нужны именно CRC - просто файлы с длинными именами. Т.к. это нужно в основном для переименовывания видео/субтитров аниме сериалов, то файлов редко бывает больше 30, очень редко больше 50, если это нужно.
А если с црц - то просто нужна программа, которая считает црц и работает с командной строки типа tinysfv или smallsfv, или gethash http://anime.nsu.ru/forum/viewtopic.php?t=1291. И контрольная сумма дописывается в конец имени, обычно, как в примере [группа]_название_номер-серии_[инфо-о кодеках][CRC].avi.
Ужас какой! Это сколько ж надо выпить, чтобы во всем этом разобратьсяaldares писал(а):А если с црц - то просто нужна программа, которая считает црц и работает с командной строки типа tinysfv или smallsfv, или gethash http://anime.nsu.ru/forum/viewtopic.php?t=1291. И контрольная сумма дописывается в конец имени, обычно, как в примере [группа]_название_номер-серии_[инфо-о кодеках][CRC].avi.
Ну, я надеюсь, что приведенный выше скрипт уже вполне устраивает.
Если изменить строку
нато все файлы будут иметь расширение log.
[mod="Avada"]С учётом реального содержания тема перенесена из "Общих вопросов" в "Автоматизацию".[/mod]
Код: Выделить всё
oFile.Name = NewName & "." & FSO.GetExtensionName(FilePath)Код: Выделить всё
oFile.Name = NewName & ".log"[mod="Avada"]С учётом реального содержания тема перенесена из "Общих вопросов" в "Автоматизацию".[/mod]
Нет, я не сплю. Я просто медленно моргаю.