Aligned extensions (расширения в отдельном столбце)для папок
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Aligned extensions (расширения в отдельном столбце)для папок
Для файлов есть опция, как показывать расширения - вместе с именем или в отдельном столбце "Ext". А вот для директорий расширения показываются всегда вместе с именем.
Возможно ли сделать так, чтобы расширения директорий отображались в столбце "Ext", как и для файлов?
Нужно это для реализации идеи сортировки огромного количества директорий по разным критериям, которые хранятся в имени как теги (что-то типа Name.tag1.tag2.tag3.tag4), поэтому в идеале было бы вообще хорошо чтобы столбцов, подобных "Ext" было сколько угодно, и чтобы можно было настраивать разбиение имени файла на части для загрузки частей в эти столбцы, но подозреваю что такого точно нет, если только не писать свой плагин.
Кстати для симлинков на директории та же проблема - расширение всегда отображается как часть имени.
Возможно ли сделать так, чтобы расширения директорий отображались в столбце "Ext", как и для файлов?
Нужно это для реализации идеи сортировки огромного количества директорий по разным критериям, которые хранятся в имени как теги (что-то типа Name.tag1.tag2.tag3.tag4), поэтому в идеале было бы вообще хорошо чтобы столбцов, подобных "Ext" было сколько угодно, и чтобы можно было настраивать разбиение имени файла на части для загрузки частей в эти столбцы, но подозреваю что такого точно нет, если только не писать свой плагин.
Кстати для симлинков на директории та же проблема - расширение всегда отображается как часть имени.
x-code
Нет, невозможно. И правильно. Для каталогов никаких реальных расширений быть не может, текст после последней точки всё равно является частью имени.
А насчёт использования подстрок в наборах колонок вы вместо подозрений лучше почитайте справку, где сказано и про то, что сортировка в таких колонках всё равно идёт по полной строке. Я не припоминаю сообщений, что это каким-то спецплагином удалось обойти.
Нет, невозможно. И правильно. Для каталогов никаких реальных расширений быть не может, текст после последней точки всё равно является частью имени.
А насчёт использования подстрок в наборах колонок вы вместо подозрений лучше почитайте справку, где сказано и про то, что сортировка в таких колонках всё равно идёт по полной строке. Я не припоминаю сообщений, что это каким-то спецплагином удалось обойти.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Создайте пользовательский набор колонок с колонкой [=tc.ext].x-code писал(а):Возможно ли сделать так, чтобы расширения директорий отображались в столбце "Ext", как и для файлов?
Для нескольких столбцов (колонок) попробуйте Expander2.
sa
Насчёт пользовательского набора с колонкой [=tc.ext] вы правы. Но это пригодится только для текста после последней точки, а не после любой (см. исходное задание). И, разумеется, только в пользовательских наборах колонок.
А как в данном случае вы применили бы плагин Expander2? (У меня нет опыта работы с ним.)
Насчёт пользовательского набора с колонкой [=tc.ext] вы правы. Но это пригодится только для текста после последней точки, а не после любой (см. исходное задание). И, разумеется, только в пользовательских наборах колонок.
А как в данном случае вы применили бы плагин Expander2? (У меня нет опыта работы с ним.)
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Avada
В файле Expander2.ini в качестве разделителя указываем точку:Для папки Name.tag1.tag2.tag3.tag4 в колонке
Part1 [=expander2.Part1] отображается Name,
Part2 [=expander2.Part2] отображается tag1,
Part3 [=expander2.Part3] отображается tag2 и т.д.
Добавил из ReadmeRUS.txt:
В файле Expander2.ini в качестве разделителя указываем точку:
Код: Выделить всё
Divider=.Part1 [=expander2.Part1] отображается Name,
Part2 [=expander2.Part2] отображается tag1,
Part3 [=expander2.Part3] отображается tag2 и т.д.
Добавил из ReadmeRUS.txt:
Если с конца имени, то так: [=expander2.Part-1] и т.д.Плагин "разбивает" имя файла на отдельные строки (с помощью заданных разделителей).
Может использоваться для расширенной сортировки.
Если разделитель содержит "\", путь тоже разбивается.
Бесконечное количество разделителей, лимит задается в файле настроек Expander2.ini.
Может использовать несколько разделителей, отделенных друг от друга символом "|" (вертикальная черта без кавычек).
Для использования укажите разделители в секции [Main] файла Expander2.ini.
...
+ может проверять части, начиная с конца имени
Последний раз редактировалось sa Вт дек 10, 2024 13:42, всего редактировалось 3 раза.
- Monarch-LFV
- Сообщения: 364
- Зарегистрирован: Пн июл 22, 2019 13:20
x-code
Для себя писал скрипт для плагина WinscriptADV:
[cut]
[/cut]
Работает также как expander2, но еще умеет обрабатывать с конца имени, когда может быть разное количество разделителей в имени, но нужно, например, 3 последние части.
Также можно задавать одновременно разные разделители (закомментированная строка в скрипте).
В Options.ini соответственно:
Для себя писал скрипт для плагина WinscriptADV:
[cut]
Код: Выделить всё
' 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 соответственно:
Код: Выделить всё
[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=1Re: Aligned extensions (расширения в отдельном столбце)для папок
Ну, для подобных задач свой плагин точно писать не надоx-code писал(а):если только не писать свой плагин.
Есть еще плагин Autorun. В нем реализован собственный скриптовый язык и недавно появилась возможность дабавлять свои кастомные поля.
Поставленную вами задачу на Autorun можно решить буквально тремя строчками:
Код: Выделить всё
Pragma AutorunPluginFields "C1:::SplitName" "C2:::SplitName" "C3:::SplitName" "C4:::SplitName" "C5:::SplitName" "C6:::SplitName" "C7:::SplitName" "C8:::SplitName" "C9:::SplitName" "C10:::SplitName"
Func SplitName(FileName, FieldIndex, UnitIndex)
If StrPos(FileGetAttr(FileName), "D") Then Return StrPart(FileName, ".", FieldIndex)
EndFunc