View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 30, 2017 15:01 Post subject: |
|
|
sa wrote: | А заказчик согласился? Или для него это и есть единственно приемлемый вариант? | Не вижу никаких заказчиков. Тут всё бесплатно. А вариант более чем годится.
sa wrote: | Разве в тотале пропала фильтрация вроде *.jpg;*.jpeg? | Тотал тут ни при чём. А при чём тут автоматизация, в разделе которой мы находимся, и твоя кнопка, коли ты взялся обсуждать мой скрипт и то, что он якобы не так делает.
sa wrote: | Рекурсия для кого-то может стать плюсом, а не минусом | Ага, особенно, если файлов в структуре столько, что ТС просто зависнет на полчасика.
sa wrote: | поставь первой командой в сцепке cm_ClearAllFiles | Вот ты и поставь, кнопка же не моя. Я свой скрипт поправил.
sa wrote: | в тотале надо действовать, как всегда, аккуратно, себе в помощь, а не во вред. | Вот именно, что надо. А со скриптом после единоразовой установки параметров не надо, поэтому он и выбран (собственно, как и всегда в таких ситуациях).
sa wrote: | Кнопка, собственно, самодостаточна. | И мы в этом убедились на примере выше с кучей вопросов о её непредвиденном поведении. Не надо забывать о разном уровне подготовки пользователей. Для тебя она, возможно, и годится.
sa wrote: | А вот в ИГП (с настройками по умолчанию), только и остаётся, что заменить [N] на [P] и подтвердить переименование. | Чтобы добиться настроек по умолчанию, нужно сперва поработать с ключом MultiRenameLoadSettings, до чего неквалифицированный пользователь просто не догадается.
И ИГП даже при, как я уже писал, стандартных установках куда более дурацкий результат способен выдать. Проверено.
sa wrote: | Собственно, всё, что я хотел, так это в очередной раз | потроллить работу Flasher'a. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2582
|
(Separately) Posted: Mon Jan 30, 2017 15:38 Post subject: |
|
|
Flasher wrote: | он якобы не так делает | Почему якобы? Такой результат (файлы с номерами 5, 9-19) и планировался? Зачем тогда скрипт было править? Вопросы риторические, само собой.
Flasher wrote: | нужно сперва поработать с ключом MultiRenameLoadSettings | У меня вместо этого давно кнопка имеется: Code: | TOTALCMD#BAR#DATA
MULTIRENAME
Несуществующее имя шаблона
WCMICONS.DLL,46
Групповое переименование с настройками по умолчанию
0
-1
| Или (если кто-то не успел поработать с ключом) перезапустить тотал. Flasher wrote: | дурацкий результат способен выдать | Логично: сделаешь в тотале дурацкие установки, получишь в ИГП дурацкий результат.
Заканчиваю тебя здесь "троллить", хотя в исправленном скрипте и наткнулся на ошибки. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 30, 2017 15:54 Post subject: |
|
|
sa wrote: | Зачем тогда скрипт было править? | Чтобы твоя душенька успокоилась. Но, как оказалось, и это не помогло.
sa wrote: | У меня вместо этого давно кнопка имеется: | Замечательно. Только совсем несвоевременно.
sa wrote: | Flasher wrote: | при, как я уже писал, стандартных установках куда более дурацкий результат способен выдать | Логично: сделаешь в тотале дурацкие установки | Без комментариев...
sa wrote: | хотя в исправленном скрипте и наткнулся на ошибки | О которых, как я понял, никто кроме тебя не узнает. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2582
|
(Separately) Posted: Mon Jan 30, 2017 16:24 Post subject: |
|
|
Flasher wrote: | Без комментариев... |
Я полагал, что, говоря о стандартных установках, ты имел ввиду стандартные (умолчательные) установки в ИГП, я же говорил об установках вне ИГП: например было бы неверным ожидать от ТС, что он переименует все файлы в папке, в то время, как часть из них находится в задействованном списке исключений. Кстати, примерчик дурацкого поведения ты не представил. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 30, 2017 16:35 Post subject: |
|
|
Про список исключений даже не думал (ситуация с выделенными файлами аналогична). Примерчики за так не представляю. Уже вляпался в безответную правку, достаточно... _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10276 Location: Россия, Саратов
|
(Separately) Posted: Mon Jan 30, 2017 16:37 Post subject: |
|
|
sa
Flasher
На этом очередной ваш высокоучёный спор объявляю закрытым. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Mashulechka
Joined: 15 Oct 2016 Posts: 8
|
(Separately) Posted: Wed Nov 22, 2017 22:19 Post subject: |
|
|
Здравствуйте!
Помогите, люди добрые, понять, как осуществить задуманное.
Часто имею задачу, переименовывать файлы в подпапках так, чтоб имя файлов соответствовало названию папки плюс с соответствующим порядковым номером. Папок много, файлов в папках ещё больше. Поэтому хочется эту задачу как то оптимизировать.
Вижу так (если файлов в папке до 99 штук):
Папка 1
Папка 1 - 01
Папка 1 - 02
...
Папка 2
Папка 2 - 01
Папка 2 - 02
...
И так далее...
Сейчас это делаю так:
Ctrl+B, выделяю нужный тип файлов (чтоб переименовывались лишь нужные мне потом файлы), Ctrl+M, переименовываю по маске [P] [C], в настройке - количество цифр ставлю на одну больше. Потом повторяю процедуру, но ставлю на одну цифру меньше.
Зачем 2 раза: после первого прохода из-за разных, часто повторяющихся имён из разных папок, счётчик именует файлы в кашеобразном (но возрастающем) порядке, второй проход хотя бы даёт непрерывную последовательность чисел.
Но числа эти идут подряд во всех папках, и если, к примеру, в первой папке 10 файлов, то во второй папке - первый файл будет с номером 11, а хотелось бы, чтоб и во второй и в последующих папках нумерация начиналась с 01 (если всего обрабатывается не более 99 файлов, и с 001 - если не более 999 файлов).
Был так же совет переименовывать с маской [P] без счетчика и соглашением на автопереименование.
Этот вариант не подходит, так как первый файл не именуется, а остальные - идут с обычными номерами (1, а не 01 итд).
Посоветовали скрипт http://forum.wincmd.ru/viewpost.php?p=121419 , и тут уже стало совсем не понятно.
По этим ссылкам вроде всё так и сделано:
Как запускать скрипты: http://forum.wincmd.ru/viewtopic.php?t=12704
Как устанавливать: http://forum.wincmd.ru/viewpost.php?p=56542
По ссылке текст скрипта был помещён в файл с расширением vbs, на всякий кодировка поменяна на 866, установлен TCWSHelp.exe, зарегистрирован. Скрипт положен в корень папки с папками для переименования. Запускаю скрипт - ничего не происходит. Где то ещё писали, что нужен плагин script_wdx_0.2.0.2 - но тоже после установки ничего не происходит.
Перетаскиваю скрипт на панель, редактирую, чтоб добавить %L в поле "Параметры", ещё проба была там же очистить поле "Путь запуска". Пробую запустить скрипт с кнопкой в нормальном режиме и от администратора (нужные файлы при этом выделены).
Появляется окно с не читаемыми символами. (Если поможет - картинку могу прикрепить).
Код кнопки:
Code: | TOTALCMD#BAR#DATA
"g:\12345\Rename.vbs"
%L
C:\WINDOWS\System32\WScript.exe,2
Rename
-1
|
Потом по этой ссылке http://forum.wincmd.ru/viewpost.php?p=43748 читаю:
"Сделал скрипт для ScriptContentPlugin, который можно использовать в MRT." Возможно надо в MRT скрипт подключать, а не просто запускать?
Но как - то же не понятно...
! | CaptainFlint: | Ссылки "оживлены". | |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 22, 2017 23:15 Post subject: |
|
|
Mashulechka wrote: | По этим ссылкам вроде всё так и сделано: | А специально прикреплённый для этого в разделе топик с кричащим названием и со всеми подробностями не пробовали открыть?
Mashulechka wrote: | на всякий кодировка поменяна на 866 | ANSI. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Mashulechka
Joined: 15 Oct 2016 Posts: 8
|
(Separately) Posted: Thu Nov 23, 2017 00:14 Post subject: |
|
|
3 ошибки я поняло.
1. Не надо было кодировку на 866 менять.
В окне всплывающем - ранее не читаемом, написано:
"Переименование файлов внутри пап... Выполнено!"
2. В параметрах надо было вписывать не %L, а %WL
3. Выделять надо было не файлы по Ctrl+B, а сами каталоги.
Сработало.
Но к сожалению, не так как я ожидало.
Нумерация файлов: (1), (2), (3)...(10)...
Хотелось же: (01), (02), (03)...(10)... |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 23, 2017 01:06 Post subject: |
|
|
Mashulechka wrote: | Хотелось же: |
См. добавку снизу шапки: Code: | '========================= VBS ==========================
' Переименовать файлы внутри выбранных папок по их именам
' при включении алфавитной сортировки (по умолч. прямой)
' Параметры: %WL
' необязат.: <фильтр-список расширений>
' <cортировка обратная: 1>
' Примеры: %WL
' %WL *.jpg;*.jpeg 1
'========================================================
Const Rank = 2 ' Минимальное число цифр в именах копий
'========================================================
With WSH.Arguments
C = .Count : If C = 0 Then WSH.Quit
List = .Item(0) : If C > 1 Then Filt = .Item(1)
If Filt = "" Then Filt = "*.*"
If C = 2 Then Sort = .Item(2)
End With : Set ShA = CreateObject("Shell.Application")
Set Lst = CreateObject("System.Collections.ArrayList")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Reg = New RegExp : Reg.IgnoreCase = True
Set Rgx = New RegExp : Rgx.Global = True
Rgx.Pattern = "([()+.[^{$])"
With FSO.OpenTextFile(List,,,-1)
Do : P = Trim(.ReadLine)
If FSO.FolderExists(P) Then
Set Path = ShA.NameSpace(P)
Set Items = Path.Items
Items.Filter 73952, Filt
If Items.Count Then
For Each F in Items
If FSO.FileExists(F.Path) Then Lst.Add CStr(F)
Next : i = 1 : Lst.Sort : If Sort = 1 Then Lst.Reverse
For Each F in Lst
Ext = FSO.GetExtensionName(F)
Reg.Pattern = "^" & Rgx.Replace(_
Path.Title, "\$1") & " \(\d+\)\.?" & Ext & "$"
If Not Reg.Test(F) Then
If Len(Ext) Then Ext = "." & Ext
FP = P & Path.Title : FN = FP & " (" & R(1) & ")" & Ext
While FSO.FileExists(FN) Or FSO.FolderExists(FN)
i = i + 1 : FN = FP & " (" & R(i) & ")" & Ext
Wend
FSO.GetFile(P & F).Name = Path.Title & " (" & R(i) & ")" & Ext
End If
Next : Lst.Clear
End If
End If
Loop Until .AtEndOfStream : .Close
End With
MsgBox Space(18) & "Выполнено!", 4160,_
" Переименование файлов внутри папок "
Function R(n) R = Right(String(Rank, "0") & n, Rank) End Function |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Mashulechka
Joined: 15 Oct 2016 Posts: 8
|
(Separately) Posted: Thu Nov 23, 2017 12:19 Post subject: |
|
|
Flasher
Спасибо! Теперь моя душенька довольна! |
|
Back to top |
|
|
Fess
Joined: 11 Nov 2019 Posts: 2
|
(Separately) Posted: Mon Nov 11, 2019 21:19 Post subject: |
|
|
Batya wrote: | Сделал скрипт для ScriptContentPlugin, который можно использовать в MRT. При этом текущий счетчик и текущая папка хранятся в реестре. Получилось очень медленно и в общем случае криво.
Brnandman
Лучше сделать скрипт, который сам переименовывает выделенные файлы.
Нужна именно маска вида "photo[C1+1:2]"? Т. е. одинаковый префикс для всех файлов, а далее без разделителя двухзначное число?
Опиши более детально требования для переименования. |
Добрый день. А как в вашем скрипте убрать то что конечные именна файлом начинаются с 00? Цель: переименовать в нескольких папках файлы по порядку 1.2.3.... |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 11, 2019 21:58 Post subject: |
|
|
Fess
См. 19-20 строки шапки кода. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Fess
Joined: 11 Nov 2019 Posts: 2
|
(Separately) Posted: Thu Nov 14, 2019 18:59 Post subject: |
|
|
Flasher wrote: | Fess
См. 19-20 строки шапки кода. |
Если честно, даже не понял куда смотреть)Ткните носом, если не сложно что нужно исправить? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 14, 2019 19:22 Post subject: |
|
|
Fess
Специально для вас сверху данного раздела прикреплена памятка. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|
|
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
|