View previous topic :: View next topic |
Author |
Message |
Чиполлино
Joined: 23 Dec 2017 Posts: 62 Location: Орёл
|
(Separately) Posted: Sun Nov 10, 2019 22:52 Post subject: |
|
|
Вопрос:
Как удалить из имен выделенных файлов имена, родительских каталогов, при условии, что эти имена точно присутствуют в именах выделенных файлов. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Nov 10, 2019 23:42 Post subject: |
|
|
Чиполлино
Имена родительских каталогов могут быть в разных файлах какими угодно и располагаться где угодно. Как можно вычислить для произвольного файла, где там указан именно его родительский каталог, а не что-то другое? Для каждого файла выборки выяснять его собственный родительский каталог и искать тот же текст в имени? Не факт, что это возможно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 11, 2019 00:01 Post subject: |
|
|
Avada wrote: | Не факт, что это возможно. | А что тут невозможного? Тут проблема в другом. После отрезания имена могут совпасть с уже имеющимися, в т. ч. уже обработанными.
Чиполлино
Как? Скриптом. И условие слишком очевидно, чтобы его указывать.
А вот про необходимость затрагивать расширения и действие при совпадении новых имён с имеющимися пояснить необходимо. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Mon Nov 11, 2019 04:59 Post subject: |
|
|
Чиполлино wrote: | Как удалить из имен выделенных файлов имена, родительских каталогов, при условии, что эти имена точно присутствуют в именах выделенных файлов. |
Это легко решается мощной утилитой Андрея Аверина TCIMG (это не реклама, а путь решения задачи).
Код кнопки после установки утилиты:
Code: | TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.exe"
renms=%L||<info=o91"%Px"//>!!
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.dll,1
Удалить в имени выделенных файлов имя родительского каталога
%COMMANDER_PATH%\Plugins\exe\TCIMG\
-1 |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 11, 2019 14:58 Post subject: |
|
|
Чиполлино
Короче, пока без расширений, но с регистронезависимостью, автопереименованием по счётчику при совпадении, работой в режимах без подкаталогов и найденных поиском файлов, поддержкой Юникода и длинных путей (260+):
Code: | '============================== VBS ==============================
' Убрать из базовых имён выбранных файлов имена родительских папок
' Параметр: %WL
'=================================================================
Option Explicit : Dim FSO, List, F, Ext, PF, PN, BN, FN, c
If WSH.Arguments.Count = 0 Then WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
Set List = FSO.OpenTextFile(WSH.Arguments(0),,,-1)
Do: F = List.ReadLine
If Right(F, 1) <> "\" Then
Ext = FSO.GetExtensionName(F)
If Len(Ext) Then Ext = "." & Ext
PF = "\\?\" & FSO.GetParentFolderName(F) & "\"
PN = FSO.GetFileName(PF) : BN = FSO.GetBaseName(F)
If InStr(1, BN, PN, 1) > 0 And Len(PN) > 0 Then
BN = Replace(BN, PN, "", 1, -1, 1)
If Len(BN) Then
FN = BN & Ext : c = 0
While (FSO.FileExists(PF & FN) OR FSO.FolderExists(PF & FN))
c = c + 1 : FN = BN & " (" & c & ")" & Ext
Wend
If Len(F) > 259 Or Len(PF & FN) > 259 Then F = "\\?\" & F
FSO.GetFile(F).Name = FN
End If
End If
End If
Loop Until List.AtEndOfStream : List.Close
Set List = Nothing : Set FSO = Nothing |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Чиполлино
Joined: 23 Dec 2017 Posts: 62 Location: Орёл
|
(Separately) Posted: Mon Nov 11, 2019 23:32 Post subject: |
|
|
Flasher wrote: | Короче, пока без расширений |
Спасибо.
! | Avada: | Последующая дописка удалена, комментарии в ЛС. | |
|
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
|