View previous topic :: View next topic |
Author |
Message |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Wed May 06, 2009 20:58 Post subject: Выделение файлов по формуле |
|
|
Доброго дня! Подскажите, пожалуйста, как в коммандере можно выделить файлы по заданной формуле, например "index % 2" - все чётные и т.д. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Wed May 06, 2009 23:46 Post subject: |
|
|
Тагарищ_Ы wrote: | например "index % 2" - все чётные и т.д. |
Т.е. "чётность" основывается на имени? Можно пример?
Вообще, тебя интересует этот частный случай
или таких формул у тебя несколько?
Если несколько, то, скорее всего, придётся писать отдельный скрипт под каждую формулу. |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Thu May 07, 2009 01:10 Post subject: |
|
|
CaptainFlint, благодарю. Для начала сойдёт и так.
DrShark, ну в идеале, хотелось бы, чтобы был разбор выражений. В моём примере чётность основывается на остатке от целочисленного деления переменной index(порядковый номер файла в списке) на число 2. Но было бы неплохо иметь возможность использования и таких записей: "int(filename[5,2]) % 3" или "int(extention) * 2^index" |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Thu May 07, 2009 19:23 Post subject: |
|
|
Тагарищ_Ы wrote: | Но было бы неплохо иметь возможность использования и таких записей: "int(filename[5,2]) % 3" или "int(extention) * 2^index" |
Для этих задач вполне подойдут регулярные выражения или Script Content plugin.
В таком случае можно пойти следующим путём: Поиск с испольрованием RegEx или плагина (Alt+F7). При необходимости, глубину поиска ограничить до "Только текущий". Далее - файлы на панель. |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Thu May 07, 2009 20:28 Post subject: |
|
|
А регекс разве поддерживает арифметические вычисления? |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Thu May 07, 2009 21:26 Post subject: |
|
|
Тоталовский RegEx не поддерживает, хотя такие простые вещи как проверку на чётность организовать можно. По-этому я и упомянул о контентных плагинах. Можно написать vbs-скрипт для Script Content Plugin, который будет парсить имена файлов по этим формулам, и использовать его в колонках или в поиске... |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Thu May 07, 2009 21:29 Post subject: |
|
|
Спасибо за наводку. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Thu May 07, 2009 22:53 Post subject: |
|
|
Тагарищ_Ы
А в чем практическая польза такого выделения? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Fri May 08, 2009 07:45 Post subject: |
|
|
Batya, ну если взять мой случай, то я резал видео на куски и вышло около 2000 сегментов. Нужно было оставить только каждый третий кусок. Также, как-то давно требовалось оставить файлы "2 через 3, 2 через 2", но не нашёл готового решения и пришлось программулину состряпать. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri May 08, 2009 15:46 Post subject: |
|
|
Тагарищ_Ы
Можно сделать колонку с номером куска и отсортироваться по этой колонке. Далее легко выделяешь, что угодно. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Fri May 08, 2009 18:25 Post subject: |
|
|
Batya, если брать мой второй случай, то файлы имели вид table_xxxx.xml, где xxxx - целое число от 0000 до 9999. Т.е. уже всё упорядоченно. Выделить нужно было так:
table_0000.xml
table_0001.xml
table_0002.xml
table_0003.xml
table_0004.xml
table_0005.xml
table_0006.xml
table_0007.xml
table_0008.xml
table_0009.xml
table_0010.xml
table_0011.xml
table_0012.xml
table_0013.xml
table_0014.xml
table_0015.xml
table_0016.xml
table_0017.xml
MarkStep в несколько проходов и инверсий вероятно может это сделать. Но для этого с ним долго поиграться нужно. А вот как это сделать с помощью дополнительной колонки я не очень представляю. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Fri May 08, 2009 20:39 Post subject: |
|
|
2CaptainFlint
Спасибо за рекламу.
2Тагарищ_Ы
Скрипт в его нынешней редакции в ТС 7.5х работать не будет, хотя бы потому, что класс окна сменился с TTOTAL_CMD на TTOTAL_CMD.UnicodeClass. Переход на Юникод, к сожалению, сделал неработоспособными часть моих скриптов, в частности, MarkStep. Как раз в эти дни я занят рихтовкой моих скриптов с учетом новшеств последней версии ТС. Так что, если другого пути, кроме MarkStep, найдено не будет, есть два выхода:
1) Временно не переходить на 7.5 (или временно же поставить 7.0);
2) Подождать недельку-другую, пока я закончу работу. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Тагарищ_Ы
Joined: 06 May 2009 Posts: 8
|
(Separately) Posted: Fri May 08, 2009 22:02 Post subject: |
|
|
Вахмурка, спасибо за хорошие скрипты. Я пока на 7.04 сижу. Так что, трудностей нету)) |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Sat May 09, 2009 09:47 Post subject: |
|
|
Хорошо, раз так. Надеюсь, ты уже понял, что скрипт можно запускать несколько раз для одного списка. То есть если в маркировке есть хоть какая-то регулярность, скрипт ее точно может воспроизвести. Видимо, именно эту последовательность с цифрами шагов и флагом "поставить/снять выделение" и можно назвать "формулой". _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
|