Добавлено: Ср авг 31, 2016 21:31
Чего это не сделаешь? 2017 на хоткей назначь и пользуйся.Dimsok писал(а):А то этак даже тупо копипаст не сделаешь
Форум поддержки пользователей Total Commander
https://forum.wincmd.ru/
Чего это не сделаешь? 2017 на хоткей назначь и пользуйся.Dimsok писал(а):А то этак даже тупо копипаст не сделаешь
Сгодится такой вариант, пока файлов не так много. Может, в будущем понадобится какое-нибудь более массовое решение.2017 на хоткей назначь и пользуйся.
Код: Выделить всё
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 писал(а):А у тебя TC4Shell стоит? Если да, то скриптом можно смотреть внутрь без утилит.
Код: Выделить всё
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
' Переименовать выбранные архивы в имена вложенных одиночных объектов
' Условие: Наличие инсталляции системного аддона 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