Страница 4 из 7
Добавлено: Сб янв 28, 2017 12:21
Flasher
Staniclaw
Я полагаю, мы тут не справочные материалы разбираем, поскольку и в том случае иные плагины не понадобились бы.
Есть выражение [P], которое идёт первым в списке, вызываемом кнопкой + справа от [N] Имя.
Добавлено: Сб янв 28, 2017 12:30
Staniclaw
Flasher
Да, так лучше. Просто я сейчас настраивал ИГП с этим плагином, и его поля были перед глазами. А это упустил из виду.

Добавлено: Сб янв 28, 2017 12:35
sibirnik
Flasher
R/S. Скрипт от Batya я попробовал по вашей ссылке "есть тема" и он работает, так, как я указал выше. Я не не знаю, как дать Вам ссылку на скрипт от Batya.
Добавлено: Сб янв 28, 2017 12:37
Flasher
sibirnik
Я не просил каких-либо ссылок. Прочтите мои вопросы и дайте ответ.
Добавлено: Сб янв 28, 2017 12:44
Avada
sibirnik
R/S. — это P.S.?

И вы не находите, что пытаться дать ссылку человеку, который выше сам дал ссылку на тему с этим скриптом, мягко говоря, странно? А как даются ссылки, посмотрите по другим сообщениямм форума, И к кнопкам в окне быстрого ответа приглядитесь внимательнее.
Перенесено в тему, где изначально должно было находиться.
Добавлено: Сб янв 28, 2017 13:04
sibirnik
Flasher
По вашим вопросам отвечаю: Да обрабатывать, сортировать и переносить никуда ничего не надо, Искать тем более. Пример: у меня три каталога с именами кат1, кат2, кат3 и в каждом из них допустим куча фото с разными именами. Мне нужно в каждом отдельной каталоге присвоить имя каждому фото по имени отдельного каталога(кат1_0, кат1_1 и так далее от числа фото в этом каталоге от 0 до ....)( фоток в каждом каталоге может быть разное количество) и так в каждом каталоге. Извините за каламбур.
Добавлено: Сб янв 28, 2017 13:08
Flasher
sibirnik
Я ничего про перенос не писал. Сортировка - это не рассортировка, это порядок следования рассматриваемых объектов.
Добавлено: Сб янв 28, 2017 13:10
sibirnik
Flasher
порядок следования такой какой и был до начала переименования.
Добавлено: Сб янв 28, 2017 13:17
Flasher
sibirnik
Вы не понимаете. Заглядывая в папку, скрипт понятия не имеет, какая установлена файловая система и какой там принцип сортировки (алфавитная, обратная ей, по типу или ещё какая).
Добавлено: Сб янв 28, 2017 13:21
sibirnik
Flasher
Вот спасибо!!! теперь я понял о чём Вы!!!Алфавитный порядок сортировки у меня там.
Добавлено спустя 55 секунд:
по имени в ТС
Добавлено: Сб янв 28, 2017 14:10
Flasher
sibirnik
Тогда так. Если есть файлы с разными расширениями, то для каждой группы свой счётчик.
Код: Выделить всё
'========================================================
' Переименовать файлы внутри выбранных папок по их именам
' при включении алфавитной сортировки (по умолч. прямой)
' Параметры: %WL
' необязат.: <фильтр-список расширений>
' <cортировка обратная: 1>
' Примеры: %WL
' %WL *.jpg;*.jpeg 1
'========================================================
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 & " (" & i & ")" & Ext
While FSO.FileExists(FN) Or FSO.FolderExists(FN)
i = i + 1 : FN = FP & " (" & i & ")" & Ext
Wend
FSO.GetFile(P & F).Name = Path.Title & " (" & i & ")" & Ext
End If
Next : Lst.Clear
End If
End If
Loop Until .AtEndOfStream : .Close
End With
MsgBox Space(18) & "Выполнено!", 4160,_
" Переименование файлов внутри папок "
P.S.: И опять же - не нужно пренебрегать правилами языка (заглавными и точками).
Добавлено: Сб янв 28, 2017 14:14
sa
sibirnik
В девятой версии TC можно воспользоваться такой кнопкой
Код: Выделить всё
TOTALCMD#BAR#DATA
cm_DirBranchSel,cm_SelectAllFiles,cm_MultiRenameFiles,cm_RereadSource
WCMICONS.DLL,46
Переименовать файлы в выбранном
-1
В диалоге переименования в поле маски для имени файла установить [P] вместо [N], а потом подтвердить автоматическое переименование файлов (после предупреждения об одинаковых именах файлов). Формат счётчика будет несколько отличным от запрошенного.
Предполагается, что файлы внутри каждого каталога имеют одно и то же расширение. В противном случае для каждого расширения будет отдельный счётчик.
Добавлено: Сб янв 28, 2017 14:32
sibirnik
Flasher
От всей широты Сибирской души Огромное спасибо! Вот это мне и было нужно.
Добавлено спустя 6 минут:
sa
Про Ctrl+M, что и делает ваша кнопка я знаю - это не то, что мне было надо. Flasher решил мою просьбу.
Добавлено: Сб янв 28, 2017 14:50
sa
sibirnik писал(а):это не то, что мне было надо
Формат счётчика не подошёл или что-то другое?
Добавлено: Сб янв 28, 2017 15:01
sibirnik
sa
Другое. (N-количество каталогов с N-количеством в них файлов - нужно переименовать эти файлы по имени каталога с добавлением счётчика, если файлов N-количество) Имена каталогов разные. По предложенной Вами кнопке по одному можно сделать, а если 5000 каталогов...???? Вопрос закрыт, так как он решён.