Создать папки в диапазоне (A--Z, А--Я и т. п.)

Здесь обсуждается всё, что касается макросов.
Post Reply
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

Добрый день!

Когда-то давно был такой плагин для Far-а, он позволял создать множество папок с именами в заданном диапазоне:

0 - 9
000 - 999
А - Я
A - Z
Α - Ω
अ - ह
あ - ん
木 - 欟

... и т. д., и т. п.

Сейчас вновь возникла необходимость в таком инструменте, но найти не удаётся. Поможете?
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

a1140143, Лично я не знаком с упомянутым плагином, посему сделал мелкий скрипт. Возможно, он спасёт.
  1. Как это выглядит
    image.png
    image.png (6.97 KiB) Viewed 3749 times
    Указывается маски имени создаваемых папок, в маске звёздочкой указывается местоположение переменной части.
    Указывается начальное и конечное значение имени. Если оба значения - синтаксически правильные записи числа, то переменная часть пробегает все числовые значения от начального до конечного включительно. Забыл сделать учет случая 000-100 (будет работать как 0-100). Если надо - доделаю, пишите.
  2. Собственно сам скрипт.
  3. Запускать так:
    lua:@MkFolders.lua
    Можно сделать пункт пользовательского меню (которое по F2). Можно оформить это как плагин (т.е. чтоб вызывался из меню плагинов по F11)
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

Вдогонку.
Как выяснилось, папки создаются не всегда в той папке, которая открыта на активной панели. К тому же скрипт не будет работать на плагиновой панели (напр., на FTP-сервере). Посему внесены некоторые исправления и перечисленное выше: дополнение для работы из меню плагинов и обработка случая 001-099. Ну и по мелочи.
MkFolders.lua
(3 KiB) Downloaded 395 times
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

a1140143, чо-т никакой реакции. Это - то, что надо? Просто я же с плагином незнаком…
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

buniak_a_h, спасибо! Ваша скрипт прекрасно справился с созданием миллиона папок (от 000000 до 999999). Это почти то, что надо, но не совсем. С созданием чисто цифровых папок проблем особо и не было(с помощью разных костылей). А вот с буквенными беда.
Подробнее, что нужно:
Создать папки с именами в произвольно заданном диапазоне кодовых позиций Юникода. Например, от А (U+0410) до Я (U+042F), от ა (U+10D0) до ჰ (U+10F0), от ⼀ (U+2F00) до ⿕ (U+2FD5), и т. д. Очень важно не привязываться к определённым алфавитам, но оперировать именно произвольно выбираемым диапазоном значений. При этом, чтобы плагин сам определял коды, т.е. пользователь просто вводит начальный и конечный знаки, а не коды. Но даже если надо будет вводить коды, это будет лучше, чем никак.


Нашёл похожий плагин: https://plugring.farmanager.com/plugin.php?pid=127&l=ru
Но не знаю, он ли это, т. к. за древностью его ни использовать, ни даже проверить нет возможности.
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

a1140143 wrote: Sat 16 Apr, 2022 12:34Ваша скрипт
Ваш скрипт, разумеется.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

a1140143 wrote: Sat 16 Apr, 2022 12:34 А вот с буквенными беда
А в чём беда? Я пробовал на Ваших примерах:
a1140143 wrote: Thu 14 Apr, 2022 11:45 А - Я
A - Z
Α - Ω
अ - ह
あ - ん
木 - 欟
Из указанных я знаю только греческий алфавит; там создаётся правильно от альфы до омеги. Остальные я не знаю; что-то создаётся. У Вас что-то не работает?
P/S. Начальное и конечное значения брал из Вашего сообщения через буфер.
Last edited by buniak_a_h on Sat 16 Apr, 2022 14:31, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

Для примера: выполнил скрипт для примеров 4, 5 и 6 из Вашего поста. Вот список созданных папок (получен командами

Code: Select all

chcp 65001
dir /b /s /ad>Dir.List
Last edited by buniak_a_h on Sat 16 Apr, 2022 14:44, edited 1 time in total.
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

buniak_a_h, всё работает прекрасно! Огромное спасибо!

"Беда" была лишь в том, что я не дотумкал проверить работу скрипта с алфавитами, смотрел только цифры.

А как его всунуть в Far плагином?
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

a1140143 wrote: Sat 16 Apr, 2022 21:43 А как его всунуть в Far плагином?
Если Вы последний вариант поместите в %FarProfile%\Macros\Scripts или в любой его подкаталог, а затем перезагрузите макросы (команда macro:load в комстроке), то в списке плагинов, открываемых по F11, появится пункт
image.png
image.png (3.26 KiB) Viewed 3278 times
Всё.
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

buniak_a_h wrote: Sat 16 Apr, 2022 21:51 в %FarProfile%\Macros\Scripts или в любой его подкаталог, а затем перезагрузите макросы (команда macro:load в комстроке), то в списке плагинов, открываемых по F11, появится пункт
В портабельном такой фокус не проходит. Или я чего не понимаю.
Last edited by a1140143 on Sat 16 Apr, 2022 22:41, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by buniak_a_h »

a1140143 wrote: Sat 16 Apr, 2022 22:11 В портабельном такой фокус не проходит. Или я чего не понимаю.
«В портабельном» - имеется в виду Вы сделали Far.exe.ini? Так всё равно проходит; просто надо это делать из запущенного портабельного ФАРа. Просто переменная FarProfile у него будет "портабельной" - папка %FarHome%\Profile (ну, или что Вы там в ini указали).
Собсно, мне этот скрипт не нужен, поэтому все тесты я делал как раз на "портабельной" версии.
Last edited by buniak_a_h on Sat 16 Apr, 2022 22:22, edited 2 times in total.
a1140143
Posts: 6
Joined: Thu 14 Apr, 2022 11:20
Has thanked: 5 times

Создать папки в диапазоне (A--Z, А--Я и т. п.)

Post by a1140143 »

Всё работает и скрипт в меню плагинов появился.
Это я тут с ним как мартышка и очки бился, пока не дошло в AppData заглянуть.

Ещё раз, СПАСИБО!
Post Reply

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