Аналог плагина MkDir

Здесь обсуждается всё, что касается макросов.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

Latest post of the previous page:

BarD wrote: Tue 27 May, 2025 14:40 Например(без кавычек): "base;base{01-10}"
Я старался сделать поведение, как у оригинального плагина. Он как и мой скрипт даёт следующий результат:
base;base01
base;base02
base;base03
base;base04
base;base05
base;base06
base;base07
base;base08
base;base09
base;base10
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

BarD wrote: Tue 27 May, 2025 14:40 Перечисление и диапазон одновременно не поддерживаются?
Они поддерживаются одновременно, когда внутри фигурных скобок.
Скажите, что вам надо получить на выходе.
User avatar
BarD
Posts: 76
Joined: Mon 19 Jan, 2015 11:09
Has thanked: 12 times
Been thanked: 5 times

Аналог плагина MkDir

Post by BarD »

Shmuel wrote: Tue 27 May, 2025 14:52 Я старался сделать поведение, как у оригинального плагина.
Я плагином не пользовался... Показалось такое поведение странным. Но ок - принимаю за фичу.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

BarD wrote: Tue 27 May, 2025 15:09 Но ок - принимаю за фичу.
По-видимому, всё, что снаружи фигурных скобок интерпретируется как "неизменяемая часть" (по терминологии хелпа).
Однако, если фигурных скобок нет совсем, то подход другой - это перечисление с разделителем точка-с-запятой.
User avatar
BarD
Posts: 76
Joined: Mon 19 Jan, 2015 11:09
Has thanked: 12 times
Been thanked: 5 times

Аналог плагина MkDir

Post by BarD »

base;base2 - создает 2 каталога - логично.
base;base{01-05} - не создает каталоги: base, base01, base02, base03, base04, base05.
По моему не логично.
Но если цель была повторить поведение старого плагина, то ... может кому-то именно такое поведение нужно.
User avatar
BarD
Posts: 76
Joined: Mon 19 Jan, 2015 11:09
Has thanked: 12 times
Been thanked: 5 times

Аналог плагина MkDir

Post by BarD »

Shmuel wrote: Tue 27 May, 2025 15:14
BarD wrote: Tue 27 May, 2025 15:09 Но ок - принимаю за фичу.
По-видимому, всё, что снаружи фигурных скобок интерпретируется как "неизменяемая часть" (по терминологии хелпа).
Однако, если фигурных скобок нет совсем, то подход другой - это перечисление с разделителем точка-с-запятой.
Принято.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

Собственно реализация описана в моём предыдущем сообщении. Я изучал поведение плагина и пришёл к такому алгоритму.
Однако это не означает, что в будущем всё обязано остаться как сейчас.
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Аналог плагина MkDir

Post by HaRT »

BarD wrote: Tue 27 May, 2025 14:40 Перечисление и диапазон одновременно не поддерживаются?
Например(без кавычек): "base;base{01-10}"
Попробуйте с вложенными скобками: {base;base{01-10}} — в bash аналогичная конструкция (с заменёнными операторами) срабатывает ожидаемо.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Аналог плагина MkDir

Post by HaRT »

Shmuel wrote: Tue 27 May, 2025 15:14 если фигурных скобок нет совсем, то подход другой - это перечисление с разделителем точка-с-запятой
Тут и плагин/скрипт не нужен — Фар делает это сам, если выделить галку в диалоге создания директории.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

HaRT wrote: Tue 27 May, 2025 16:52 Тут и плагин/скрипт не нужен — Фар делает это сам
А то я этого не знал )
User avatar
BarD
Posts: 76
Joined: Mon 19 Jan, 2015 11:09
Has thanked: 12 times
Been thanked: 5 times

Аналог плагина MkDir

Post by BarD »

HaRT wrote: Tue 27 May, 2025 16:48
BarD wrote: Tue 27 May, 2025 14:40 Перечисление и диапазон одновременно не поддерживаются?
Например(без кавычек): "base;base{01-10}"
Попробуйте с вложенными скобками: {base;base{01-10}} — в bash аналогичная конструкция (с заменёнными операторами) срабатывает ожидаемо.
Скрипт по {base;base{01-10}} создает только папку base;base01-10}.
Для bash ожидаемый результат дает команда: mkdir base base{01..10} - кстати, исходя из принципа построения именно этой команды и её результатов, у меня и возник первоначальный вопрос.
Volodya
Posts: 324
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 71 times
Been thanked: 2 times

Аналог плагина MkDir

Post by Volodya »

Спасибо за скрипт. Давно хотел что-то подобное.
Два пожелания.
После создания директорий, становиться на вновь созданную "корневую" директорию. Если их несколько, то на первую. То есть при задании abc\{1-10} становиться после выполнения скрипта на директорию abc.
Второе пожелание более сложное и персональное.
Хотелось бы иметь шаблоны из которых можно было бы выбирать создаваемые директории. Например, создаем директорию с названием поездки и дальше есть стандартый набор поддиректорий Documents, Photo, Video, Music. Хотелось бы иметь имя для этого шаблона и всталять его в строку для генерации директорий. Другой пример, создается директория год (2025) и в ней поддиректории месяца.Потом в 2026 году не надо будет снова перечислять месяца.
Last edited by Volodya on Wed 28 May, 2025 04:53, edited 1 time in total.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

Четвёртая версия.
Учтено замечание от BarD и первое пожелание от Volodya.
mkdir.7z
(5.86 KiB) Downloaded 96 times
Last edited by Shmuel on Thu 29 May, 2025 16:40, edited 2 times in total.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

Пятая версия.
Учтено второе пожелание от Volodya. Объяснение (на англ.) в файле mkdir.example.alias.
mkdir.7z
(6.74 KiB) Downloaded 73 times
Last edited by Shmuel on Fri 30 May, 2025 18:44, edited 1 time in total.
tstr
Posts: 561
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 23 times
Been thanked: 10 times

Аналог плагина MkDir

Post by tstr »

что-то ошибка при исп. алиаса появилась при использовании примера, пробовал на far2m. лечится патчем
Last edited by tstr on Fri 30 May, 2025 18:36, edited 1 time in total.
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

Аналог плагина MkDir

Post by Shmuel »

tstr, спасибо!
Заменил файл во вложении.
Last edited by Shmuel on Fri 30 May, 2025 18:45, edited 1 time in total.
Post Reply

Return to “Обсуждение макросов”