[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
ЗАКАЗ КНОПОК
ХарВикДата: Вторник, 17.04.2012, 21:49 | Сообщение № 1
Генералиссимус

На сайте с: 29.01.2012
Город: Черкассы
Сообщений: 1629
Награды: 18
Репутация: 18
ЗАКАЗ КНОПОК




В этой теме Вы можете высказывать идеи о каких-либо кнопках. Вы можете описать какую хотелось бы иметь кнопку и возможно найдутся те, кто подскажет как её сделать.
Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений


Группа TCIMG в Telegram

.
 
inotoxicДата: Четверг, 16.03.2017, 10:58 | Сообщение № 946
Рядовой

На сайте с: 11.03.2017
Город: Москва
Сообщений: 10
Награды: 0
Репутация: 0
Спасибо за предложенные варианты, но они не реализуют поставленной задачи.
Нужен скрипт, который берет из ранее созданного txt - пути подпапок (с удалением) и переходит физически в указанную подпапку, в которой есть уже файлы (каждый раз разное кол-во), создает нужные папки и копирует все файлы в созданные папки.

Создание папок и копирование в них файлов - нашел реализацию таким скриптом
Код
global folds="%p"||line<big;catalog;thumbs!!;> marks=1||test<1e!!jpg> copys=[tc=AL]||x//1||allfold<GLOBALFOLDS<t>//0> infbx=InfoBox2


Осталось реализовать физический переход по подпапкам, пути которых прописаны в txt
 
chip642Дата: Четверг, 16.03.2017, 11:25 | Сообщение № 947
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
inotoxic

Ещё раз, нет здесь никаких скриптов, забудьте это слово, говорим о командах утилиты TCIMG.

Цитата inotoxic ()
Нужен скрипт, который берет из ранее созданного txt - пути подпапок (с удалением)


1. Откуда брать эти пути, где они находятся эти папки, в активной панели, в неактивной панели, где..?

Цитата inotoxic ()
и переходит физически в указанную подпапку, в которой есть уже файлы (каждый раз разное кол-во)


Я правильно понимаю, что надо копировать файлы находящиеся в этих подпапках в созданные в них папки? Если да, то осталось выяснить вопрос из пункт №1

И еще, для копирование файлов из подпапок не надо переходить в них физически.
 
inotoxicДата: Четверг, 16.03.2017, 11:52 | Сообщение № 948
Рядовой

На сайте с: 11.03.2017
Город: Москва
Сообщений: 10
Награды: 0
Репутация: 0
Активная панель

- Корневая папка
--Подпапка_1
---Вложенная Подпапка_1
-папка 1
-файл_1
-файл_2
-файл_3
- папка 2
-файл_1
-файл_2
-файл_3
- папка 3
-файл_1
-файл_2
-файл_3
---Вложенная Подпапка_2
-папка 1
-файл_1
-файл_2
-файл_3
- папка 2
-файл_1
-файл_2
-файл_3
- папка 3
-файл_1
-файл_2
-файл_3
--Подпапка_2
---Вложенная Подпапка_1
-папка 1
-файл_1
-файл_2
-файл_3
- папка 2
-файл_1
-файл_2
-файл_3
- папка 3
-файл_1
-файл_2
-файл_3
---Вложенная Подпапка_2
-папка 1
-файл_1
-файл_2
-файл_3
- папка 2
-файл_1
-файл_2
-файл_3
- папка 3
-файл_1
-файл_2
-файл_3
и т.д.
list.txt - файл со списком вышеуказанных директорий
 
chip642Дата: Пятница, 17.03.2017, 03:59 | Сообщение № 949
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
inotoxic

Проверьте данный вариант, опять же, если я правильно понял задачу.

Копировать в выделенных папках файлы *.jpg из папок 1-го уровня в созданные, в каждой папке 1-го уровня, каталоги (big, catalog, thumbs)


Код
imgpr=1 global slist=FOLDC<%L//2//0> folds=@GLOBALSLIST<t>||line<big;catalog;thumbs!!;>||fflag<2> <FOR> 1 <TO> GLOBALSLIST<0> copys=PS<GLOBALSLIST<:INDEX:>//1//0//*.jpg>||x//1||allfold<GLOBALSLIST<:INDEX:>\big/GLOBALSLIST<:INDEX:>\catalog/GLOBALSLIST<:INDEX:>\thumbs>||noprogres<> <NEXT>


Последовательность копирования следующая: файлы *.jpg взятые из 1-ой папки 1-го уровня копируются в новые папки(big, catalog, thumbs) созданные в этой же 1-ой папке 1-го уровня, далее цикл, то же самое с остальными папками 1-го уровня.
Папки big;catalog;thumbs создадутся в местах назначения один раз, при дальнейшем использовании кнопки в них лишь будут добавляться новые файлы.

Недолгое отсутствие сказалось на навыках создания кнопок, кое-что подзабыл, если кнопка подойдет, то возможно, после обсуждения с автором утилиты, внесём некую корректировку.
 
inotoxicДата: Пятница, 17.03.2017, 18:27 | Сообщение № 950
Рядовой

На сайте с: 11.03.2017
Город: Москва
Сообщений: 10
Награды: 0
Репутация: 0
Цитата
Код
imgpr=1 global slist=FOLDC<%L//2//0> folds=@GLOBALSLIST<t>||line<big;catalog;thumbs!!;>||fflag<2> <FOR> 1 <TO> GLOBALSLIST<0> copys=PS<GLOBALSLIST<:INDEX:>//1//0//*.jpg>||x//1||allfold<GLOBALSLIST<:INDEX:>\big/GLOBALSLIST<:INDEX:>\catalog/GLOBALSLIST<:INDEX:>\thumbs>||noprogres<> <NEXT>

Супер !!!! Даже не требует создания списка папок. Запустил и в нужных папках создались необходимые папки.
chip642, огромное спасибо!!!
 
chip642Дата: Пятница, 17.03.2017, 18:48 | Сообщение № 951
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата inotoxic ()
Супер !!!! Даже не требует создания списка папок.


Это же TCIMG - утилита автоматизации, любой каприз в один клик, как говорится. Главное точно описать задачу, что имеем и что хотим получить.
 
inotoxicДата: Пятница, 17.03.2017, 19:33 | Сообщение № 952
Рядовой

На сайте с: 11.03.2017
Город: Москва
Сообщений: 10
Награды: 0
Репутация: 0
Было бы здорово, если в следующих версиях утилиты появился контекстно зависимый GUI для формирования команды.

К примеру:
- выбираем папки
- что делать?
- список!
- со списком что делать?
- в файл или обработка в буфере

- выбираем файлы
- что с файлами делать?
- сортировать !
- как?
- по времени| расширению
- отсортировали, дальше что?
- обработка!
- как?
- выбираем действие
и т.д.

Считаю, что создание такого рода визуального конструктора - облегчит работу с утилитой.
Да и ряд типичных вопросов, которых я думаю не мало на данном форуме, отпадут.
 
chip642Дата: Пятница, 17.03.2017, 19:58 | Сообщение № 953
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
inotoxic

Всё перечисленное вами можно сделать и сейчас, есть возможность вызывать диалоговые окна различной направленности, есть возможность их объединять, надо просто поставить себе задачу, какие функции вы хотите видеть, создать шаблоны команд в TCIMGU.lng, разобраться, как это реализовать и всё.
Все эти хотелки персональные, кому-то надо одно, кому-то другое.
TCIMG - это конструктор, который предоставляет инструменты, при помощи которых, уверяю вас, можно решить массу задач, при этом во много раз сэкономив время и нервы.
 
Crack_55Дата: Понедельник, 20.03.2017, 17:24 | Сообщение № 954
Лейтенант

На сайте с: 10.04.2013
Сообщений: 65
Награды: 0
Репутация: 2
Есть надобность следующей кнопули:
Сортировать выделенные фото(или gif) по размеру по папкам: от 100х100 до 200х200 в одну папку, от 200х200 до 300х300 в другую папку, от 300х300 до 400х400 в третью и т.д.


Сообщение отредактировал Crack_55 - Понедельник, 20.03.2017, 17:25
 
Andrey_AДата: Вторник, 21.03.2017, 18:21 | Сообщение № 955
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Цитата Crack_55 ()
Есть надобность следующей кнопули:
Сортировать выделенные фото(или gif) по размеру по папкам: от 100х100 до 200х200 в одну папку, от 200х200 до 300х300 в другую папку, от 300х300 до 400х400 в третью и т.д.


Вначале показалась задача не то чтобы сложноватой, сколько требующей внесения в утилиту разбор диапазонов и всего с этим связанного, но... (как раз сегодня разбирался с математикой в шаблонах) оказалось всё очень просто:

В TCIMG.ini (TCIMGU.ini) в секцию [FormatUser] добавляем:

Код
; получить числа из приходящих чисел приближённые к кратному диапазону 100 : 0-100 = 100, 101-200 = 200, 201-300 = 300 ...
fun_numrange1=(\d+)||Floor($1/100+(Mod($1,100)?1:0))*100


Вот ряд примеров, которые подвели к финальной кнопке:

1.

Доступно только для пользователей

2.
Получить размеры ширин выделенных изображений приближенных к кратному 100 + добавить имя файла

Доступно только для пользователей

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

В описании задачи нет такого условия, но я так понял, что надо получить только квадратные изображения, тогда добавляем тестирование:

1.

Доступно только для пользователей

2.

Доступно только для пользователей

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Ну и все те же параметры добавляем в команду copys и получаем:

Из выделенных изображений копировать в другую панель только квадратные в создаваемые именные папки (имя берётся из размера изображения приближённого к кратному диапазону 100 : 0-100 = 100, 101-200 = 200, 201-300 = 300 ...)

Доступно только для пользователей

Если надо только GIF , то добавляем условие:

Доступно только для пользователей

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Добавлено:
Можно попробовать вариации шаблонов:

Код
; fun_numrange2  - получить числа из приходящих чисел приближённые к кратному диапазону 100 : 0-99 = 99, 100-199 = 199, 200-299 = 299 ...
fun_numrange2=(\d+)||Floor($1/100+1)*100-1
; fun_numrange3 - получить диапазон чисел из приходящих чисел приближённые к кратному диапазону 100 : 0-100 = 0 - 100, 101-200 = 101 - 200, 201-300 = 201 - 300 ...
fun_numrange3=(\d+)||Floor($1/100+(Mod($1,100)?0:-1))*100+1&' - '&Floor($1/100+(Mod($1,100)?1:0))*100




 
chip642Дата: Вторник, 21.03.2017, 21:21 | Сообщение № 956
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата Crack_55 ()
Сортировать выделенные фото(или gif) по размеру по папкам: от 100х100 до 200х200 в одну папку, от 200х200 до 300х300 в другую папку


Если отсортировывать только по ширине, то пришла такая идея.

Примечание Данные кнопки выполняют поставленную задачу только с командой перемещения- moves, команда копирования не подойдет.

В приведённой ниже кнопки будет произведена сортировка и перемещение из выделенных изображений gif в папки согласно диапазону размеров ширины, файлы размерами от 100-200 будут помещены в папку с именем 100+, файлы размерами от 200-300 будут помещены в папку с именем 200+... и т.д

Переместить выделенные изображения GIF в другую панель, в созданные(если нет подобных) папки согласно диапазону размеров ширины

Код
imgpr=1 sends=999|899|799|699|599|499|399|299|199|99!!-4 <FOR> 1 <TO> GLOBALSENDS<0> xends=GLOBALSENDS<:INDEX:>||formt<fun_numplus> moves=%L||"%p"GLOBALXENDS<:INDEX:>+||test<2m!!GLOBALSENDS<:INDEX:>>||noprogres<> <NEXT>


sends=999|899|799|699|599|499|399|299|199|99!!-4 - список проверяемых диапозонов сторон, указаный мною крайний диапазон 900-1000 , то бишь в данном случае все изображения с шириной более 1000 будут помещены в папку с именем "1000+", поэтому, есди вы знаете, что у вас есть изображения с шириной 1100, 1200 и более, то лучше создать список всех возможных у вас диапазонов и указать его в кнопке.

Переместить выделенные изображения в активную панель, в созданные(если нет подобных) папки с именами согласно диапазону размеров ширины


Код
imgpr=1 sends=sends=999|899|799|699|599|499|399|299|199|99!!-4 <FOR> 1 <TO> GLOBALSENDS<0> xends=GLOBALSENDS<:INDEX:>||formt<fun_numplus> moves=%L||"%p"GLOBALXENDS<:INDEX:>+||test<2m!!GLOBALSENDS<:INDEX:>>||noprogres<> <NEXT>


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Добавлено:

Цитата Andrey_A ()
; fun_numrange2 - получить числа из приходящих чисел приближённые к кратному диапазону 100 : 0-99 = 99, 100-199 = 199, 200-299 = 299 ...
fun_numrange2=(\d+)||Floor($1/100+1)*100-10


В свете новых решений от автора, в кнопках выше отпала надобность в списке проверяемых диапозонов ширины, теперь параметры автоматически создадут проверяемый список исходя из ширин выделенных файлов.

В TCIMG.ini (TCIMGU.ini) в секцию [FormatUser] добавляем:

Код
; fun_numminus100 - уменьшение всех чисел на 100
fun_numminus100=(\d+)||Number($1)-100


Переместить выделенные изображения в активную панель, в созданные(если нет подобных) папки с именами чисел приближенные кратному диапазону 100 исходя из размеров ширины

Код
imgpr=1 global xlist=%L||##<info=i1:://>||?Ffun_numrange2||formt<21,1> sends=$GLOBALXLIST??-1||formt<fun_numminus100>||-1!!0 <FOR> 1 <TO> GLOBALSENDS<0> xends=GLOBALSENDS<:INDEX:>||formt<fun_numplus> moves=%L||"%p"GLOBALXENDS<:INDEX:>+||test<2m!!GLOBALSENDS<:INDEX:>>||noprogres<> <NEXT>


 
Crack_55Дата: Четверг, 23.03.2017, 13:35 | Сообщение № 957
Лейтенант

На сайте с: 10.04.2013
Сообщений: 65
Награды: 0
Репутация: 2
Спасибо за изобилие вариантов

Цитата Andrey_A ()
В описании задачи нет такого условия, но я так понял, что надо получить только квадратные изображения

но условия были:
выделенные фото(или gif) от 100х100 до 200х200 в одну папку т.е. 100х110, 100х150, 110х110, 100х100, 160х170, 180х180, - в папку от 100 до 200, следующая от 200 до 300 размер не обязательно квадрат. Например необходимо отсортировать аватары.
Относительно ширины удобно сортировать обои рабочего стола
 
Andrey_AДата: Четверг, 23.03.2017, 15:25 | Сообщение № 958
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Crack_55, обилие вариантов есть - вы можете собрать свою команду:
если не нужен квадрат, то убирается условие квадрата, останется:
Код
test<1e!!gif>

а если не нужен фильтр по gif , то и вовсе все убирается..
--------
если надо по высоте, то
Код
<info=i2:://>

так что все в ваших руках , смотрите параметры info=i test

Код
copys=%L||"%t"//0||##<info=i1:://>||?Ffun_numrange3||$$@@#\//f13::||upd<3>


.


 
chip642Дата: Пятница, 24.03.2017, 02:36 | Сообщение № 959
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата Crack_55 ()
выделенные фото(или gif) от 100х100 до 200х200 в одну папку т.е. 100х110, 100х150, 110х110, 100х100, 160х170, 180х180


Не совсем понятно, учитывая какой вы предоставляете образец имеющихся файлов, то чем вас не устраивает сортировать по диапазону ширины.
Вы попробуйте вариант ниже от автора и если вас что-то не устроит, то огласите, что именно.

Переместить файлы с расширением под курсором в другую панель панель, в созданные (если нет подобных) папки с именами соответствующими диапазону ширины ( 1-100, 101-200...)

Код
tcimg=50~~$cm527 copys=[tc=AL]||"%t"//0||##<info=i1:://>||?Ffun_numrange3||$$@@#\//f13::||upd<3>


Возможно ли, что вы подразумевали следующее, что имеются файлы, например:
90х150, 120х110, 160х200, 110х300
и вы хотите, чтобы только изображения 120х110, 160х200 были помещены в папку с именем 101-200, а что тогда с 90х150, 110х300 , куда их?
 
Crack_55Дата: Пятница, 24.03.2017, 11:34 | Сообщение № 960
Лейтенант

На сайте с: 10.04.2013
Сообщений: 65
Награды: 0
Репутация: 2
Ещё раз СПС!
Цитата chip642 ()
а что тогда с 90х150, 110х300 , куда их?

Хотелось бы их в папку относительно большей стороны, т.е. 90х150 в папку-100х200, а 110х300 в папку 200х300
 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

Интеллектуальные права и отказ от ответственности