Monarch-LFV

|
Posted: Tue Dec 10, 2024 11:48 Post subject: |
|
|
x-code
Для себя писал скрипт для плагина WinscriptADV:
 Hidden text
Code: | ' Script for WinScriptAdv content plugin
' Разделяет имена папок и файлов по заданному разделителю (или нескольким разделителям)
' Множество разделителей, идущих подряд, считаются за один и удаляются (пример: ___ считается за _);
' Можно использовать юникодные символы как разделители
' Можно задавать порядок считывания подстрок с начала или с конца (Method)
' Лишние пробелы в начале и в конце частей удаляются
' Если файл начинается с разделителя, то он автоматически отбрасывается
'========== Изменяемые параметры =================
Sep = Array(".")
'Sep = Array("-",".",",","_") ' пример применения различных разделителей одновременно
Method = 0 ' 0 - порядок с начала имени, 1 - с конца
'=================================================
On Error Resume Next
Dim arr(9)
Set FSO = CreateObject("Scripting.FileSystemObject")
if FSO.FolderExists(filename) then
fn = FSO.GetFolder(filename).name ' Имя папки
else
fn = FSO.GetBaseName(filename) ' Имя файла
end if
for each i in Sep
fn=replace(fn, i, "*")
next
while Instr(fn, "**") > 0
fn=replace(fn, "**", "*")
wend
if left(fn, 1)="*" then fn=mid(fn, 2, len(fn))
if Right(fn, 1)="*" then fn=mid(fn, 1, len(fn)-1)
Sep="*"
q=UBound(split(fn, "*"))
Select case Method
Case 0
for i=0 to q: arr(i)=trim(split(fn, "*")(i)): next
Case 1
for i=0 to q: arr(i)=trim(split(fn, "*")(q-i)): next
End Select
content = arr(0) ' Часть 1
content1 = arr(1) ' Часть 2
content2 = arr(2) ' Часть 3
content3 = arr(3) ' Часть 4
content4 = arr(4) ' Часть 5
content5 = arr(5) ' Часть 6
content6 = arr(6) ' Часть 7
content7 = arr(7) ' Часть 8
content8 = arr(8) ' Часть 9
content9 = arr(9) ' Часть 10
|
Работает также как expander2, но еще умеет обрабатывать с конца имени, когда может быть разное количество разделителей в имени, но нужно, например, 3 последние части.
Также можно задавать одновременно разные разделители (закомментированная строка в скрипте).
В Options.ini соответственно:
Code: |
[FilenameSeparate]
; Разделяет имена папок и файлов по заданному разделителю
; Данные настраиваются в файле VBS
Script=FilenameSeparate.vbs
content=Filename_Part 1
content1=Filename_Part 2
content2=Filename_Part 3
content3=Filename_Part 4
content4=Filename_Part 5
content5=Filename_Part 6
content6=Filename_Part 7
content7=Filename_Part 8
content8=Filename_Part 9
content9=Filename_Part 10
extensions=*
FoldersPaths=1 |
|
|