Групповое переименование

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Dimsok писал(а):А то этак даже тупо копипаст не сделаешь
Чего это не сделаешь? 2017 на хоткей назначь и пользуйся.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

2017 на хоткей назначь и пользуйся.
Сгодится такой вариант, пока файлов не так много. Может, в будущем понадобится какое-нибудь более массовое решение.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ну, смотри.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd "for /f "delims=" %i in ('type
%WL') do for /f "delims=" %%# in ('Rar.exe lb "%%i"^|find /v "\"') do ren "%%i" "%%#%%~~xi""
wciconex.dll,221
Переименовать выбранные RAR-архивы|в имена вложенных одиночных объектов
%COMMANDER_PATH%\Utils\WinRAR\
1
Последний раз редактировалось Flasher Чт сен 01, 2016 00:19, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Ну, смотри.
Благодарю.

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

Хотя наверное с 7z было бы универсальней, чем с Winrar; и для других типов архивов.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

7z не во всех случаях выводит одинаково инфу, у него косяки с этим.
Но ты сам запросил rar, так что пиняй на себя. :wink:
Последний раз редактировалось Flasher Ср авг 31, 2016 23:43, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Ну лан, сейчас пока хватает rar, но потом может всё же понадобиться "штука", если каких-нибудь зипов наберётся более сотни штук.

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

Да, в кнопке где-то кавычек не хватает? Именует только до пробела.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

А у тебя TC4Shell стоит? Если да, то скриптом можно смотреть внутрь без утилит.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Просто TCShell имеется для отображения тотала в контекстном меню? Это то же же самое?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Нет, это другое.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Flasher писал(а):А у тебя TC4Shell стоит? Если да, то скриптом можно смотреть внутрь без утилит.
Скачаю, поставлю, а скрипт где взять?

И что насчёт приведённой выше кнопки? Что подправить, чтобы именовалось полным названием, с пробелами?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Скрипт пока негде. Я про то, что если скрипт писать, то с этим проще.
Кнопку поправил.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Dimsok

Код: Выделить всё

'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
' Переименовать выбранные архивы в имена вложенных одиночных объектов
' Условие: Наличие инсталляции системного аддона TC4Shell
' Страница загрузки: http://www.tc4shell.com/ru/download/
' Параметр: %WL
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
If WScript.Arguments.Count = 0 Then WSCript.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ShA = CreateObject("Shell.Application")
Set Reg = New Regexp
Reg.IgnoreCase = True: Reg.Pattern = "^(001|7z(|ip)|a|apm|arj?|bz(|ip)2|" &_
"cab|cpio|ch[iqmw]|cramfs|deb|dmg|docx?|e(sd|pub|xe|xt[234]?)|fat|gz(|ip" &_
")|hfsx?|hx[sirqw]|ihex|img|iso|jar|li[bt]|l(zh|ma)|lha|mbr|ms(i|lz|sp)|" &_
"mub|n(si|tf)s|od[st]|qcow(|2c?)|r00|rar|rpm|pkg|ppmd|ppt|squashfs|scap|" &_
"swm|t[agx]z|tar|tbz2?|u(d|efi)f|vdi|vhd|vmdk|wim|x(ar|lsx?|pi|z)|z|zipx?)$"

With FSO.OpenTextFile(WSCript.Arguments(0),,,-1)
  Do : F = .ReadLine : Ext = FSO.GetExtensionName(F)
    If FSO.FileExists(F) And Reg.Test(Ext) Then
      Set Items = ShA.NameSpace(F).Items
      Items.Filter 73952, "*"
      If Items.Count = 1 Then
        c = 0 : Set N = Items.Item(0)
        P = N.Parent.Self.Parent.Self.Path & "\"
        If Not N.IsFolder Then N = FSO.GetBaseName(N)
        If InStr(FSO.GetBaseName(F), N) = 0 Then
          Nm = N & "." & Ext
          While FSO.FileExists(P & Nm) Or FSO.FolderExists(P & Nm)
            c = c + 1 : Nm = N & " (" & c & ")." & Ext
          Wend : FSO.GetFile(F).Name = Nm
        End If
      End If
    End If
  Loop Until .AtEndOfStream : .Close
End With
P.S.: И вообще с TC4Shell такие вещи без лагов и тормозов решаются.
Последний раз редактировалось Flasher Пт сен 02, 2016 17:17, всего редактировалось 3 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Flasher
Спасибо, поставлю, проверю, если что не так, отпишусь.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Dimsok
Могу заменить на вариант немного поумнее:
1) Если файл, то берём только базовое имя.
2) Если часть имени архива совпадает с именем влож. объекта, то не трогаем.
3) Счётчик при наличии в папке таких имён.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Что-то у меня Tc4shell не ставится. Выдаёт ошибку в конце "Unable to register the dll/ocs:regsvr32 failde with exit code 0x5". Жму ignore, но скрипт в итоге не отрабатывает.

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

Установился, свою основную функцию вроде выполняет, но скрипт молча отказывается работать. Файловые ассоциации нужны?

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

И ничего что запуск "TC4ShellConsoleProxy.exe" выдаёт ошибку?
Ответить