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

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




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


Группа TCIMG в Telegram

.
 
RakosvistДата: Понедельник, 18.12.2017, 15:14 | Сообщение № 1111
Рядовой

На сайте с: 18.12.2017
Город: Tashkent
Сообщений: 9
Награды: 0
Репутация: 0
chip642, Огромное спасибо! Всё работает. Хорошая это вещь - TCIMG!
 
asmadeusДата: Вторник, 19.12.2017, 19:51 | Сообщение № 1112
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
Доброго всем вечера и с праздником!
Наверное, я старею, мозги высыхают и т.д. (пытаюсь смотреть с юмором), но я не могу решить простую задачу.
Задача - кнопка для копирования файла (одного!) из одной папки в другую.
Казалось бы, чего сложного - команда copyy и вперед.
Вот с таким параметром все проходит на ура:
Код
copyy=%%COMMANDER_PATH%%\Files\Template\Favorites\TCUE.ini||%%COMMANDER_PATH%%\INI//1||##DirMenu||total<>

То есть копируется, переименовываясь и заменяясь (так как в папке назначения он есть), тотал перезагружается и все.Нормально. Если бы не одно НО! - имена входного файла могут быть разными, файл не один и т.д. В общем, нужен диалог выбора файла.
Чего проще? Параметр sopen с настроенным диалогом. Но тут начинаются приколы.
Прописываю диалог в tcimgu.lng:
Код
OpenBox_UE1=Выберите файл избранных каталогов!!%COMMANDER_PATH%\Files\Template\Favorites\!!Файлы конфигурации (*.ini)|*.ini!!!!!!0

Прописываю параметр в кнопке:
Код
copyy=[sopen=BOX_UE1]||%%COMMANDER_PATH%%\INI//1||##DirMenu||total<>

И оказывается, что к команде copyy диалог не подключен и вылетает ошибка
Вешаю так:
Код
copys=[sopen=BOX_UE1]||%%COMMANDER_PATH%%\INI//1||##DirMenu||total<>

и имею перезапуск без изменений.
Так как же решить такую вроде бы детскую задачу?
 
chip642Дата: Вторник, 19.12.2017, 22:19 | Сообщение № 1113
Генералиссимус

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

Код
sends=@[sopen=BOX_UE1] copyy=GLOBALSENDS<1>||%%COMMANDER_PATH%%\INI//1||##DirMenu||total<>
 
asmadeusДата: Вторник, 19.12.2017, 22:33 | Сообщение № 1114
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, вариант хорош. Даже работает, как и хотелось. Почти.
Не подтягивает сами настройки диалога (хотя и у меня их тоже не подтягивало)
 
chip642Дата: Вторник, 19.12.2017, 23:48 | Сообщение № 1115
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
asmadeus, я диалогом [sopen] никогда не пользовался, сейчас протестировал, да, согласен, что-то там настройки не подхватываются, автор разберется.

Я пользуюсь простым способом.
В твоём случае будет выглядеть так.

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
sends=PS<$f300\Files\Template\Favorites\//1//0//*.ini>??-1 GLOBALSENDS<b> copyy=GLOBALARRAY<1>||%%COMMANDER_PATH%%\INI//1||##DirMenu
%COMMANDER_PATH%\WCMICONS.dll,19
Показать в окне выбора все *.ini папки Favorites (без рекурсии), выбрать нужный файл, переименовать в DirMenu и копировать с заменой в папку TC\INI
-1




Если нужно просто скопировать несколько файлов *.ini, то =>

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
sends=PS<$f300\Files\Template\Favorites\//1//0//*.ini>??-1 GLOBALSENDS<b> copys=$GLOBALARRAY||%%COMMANDER_PATH%%\INI//1
%COMMANDER_PATH%\WCMICONS.dll,19
Показать в окне выбора все *.ini папки Favorites (без рекурсии), выбрать нужные файлы и копировать их с заменой в папку TC\INI

-1
 
MrakobesДата: Воскресенье, 24.12.2017, 13:13 | Сообщение № 1116
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
Что то по справке не могу скомпоновать код для такой кнопки

1. Изменение изображения (увеличение или уменьшение) 500px по длинной стороне, без конвертации в другой формат, переименование в Folder, перемещение исходного изображения в папку с именем Covers (если ее нет, то создание, если в папке уже лежит файл с таким именем, то переименование с добавлением счетчика _001).

2. Вариант - с удалением исходного файла

* вот что еще - если я меняю размеры файла с именем Folder, то не должно создаваться Folder_2, вообщем у меня не получилось тупо уменьшить изображение, не создавая дубликат
 
chip642Дата: Воскресенье, 24.12.2017, 16:25 | Сообщение № 1117
Генералиссимус

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

НЕ совсем понял задачу касаемо исходного файла, исходный вроде сразу переименовываем или как?

Начнём с этого, а потом по ходу, если не справитесь.

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
global imgcf=%P%N||"%p"//1||resize<8,+300> renmm=GLOBALIMGCF<1>||##Folder
%COMMANDER_PATH%\WCMICONS.dll,19
изменить размеры изображения под курсором: увеличение длинной стороны на 300px (с заменой) и переименовать в Folder

-1
 
MrakobesДата: Воскресенье, 24.12.2017, 17:51 | Сообщение № 1118
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
chip642, спасибо друган. Только я поменял resize<8,+300> на resize<6,500> как надо бы. Слушай, а как оригинальный файл отправить в создаваемую папку то, как было в хотелках?

Цитата
перемещение исходного изображения в папку с именем Covers (если ее нет, то создание, если в папке уже лежит файл с таким именем, то переименование с добавлением счетчика _001


а еще бы этот самый оригинальный файл переименовать в Cover, перед перемещением - ваще огонь былоб))).... вечное наведение порядка на музыкальном диске в 3Tb


Сообщение отредактировал Mrakobes - Воскресенье, 24.12.2017, 17:54
 
chip642Дата: Воскресенье, 24.12.2017, 18:08 | Сообщение № 1119
Генералиссимус

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

Если правильно понял.

Копировать изображение под курсором в папку активной панели Cover с переименованием в Cover (добавление счетчика в случае совпадения) + изменить размеры изображения под курсором: увеличение длинной стороны на 500px (с заменой) и переименовать в Folder

Код
global copyy=%P%N||"%p"\Covers//0||##Cover imgcf=%P%N||"%p"//1||resize<8,+500> renmm=GLOBALIMGCF<1>||##Folder||upd<1>
 
MrakobesДата: Воскресенье, 24.12.2017, 18:26 | Сообщение № 1120
Полковник

На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
Награды: 2
Репутация: 2
chip642, работает, все отлично, сейчас буду анализировать, что же у меня не срослось, поменял только на 6, чтобы не растягивал пропорции и + убрал, иногда надо уменьшить иногда чуть увеличить. На сайте меня год не было, столько интересного добавилось, помню уродовал фото при помощи ирфан вью или чего там изменяло размеры, то исчезали фото, то с русскими символами в пути не дружило

Сообщение отредактировал Mrakobes - Воскресенье, 24.12.2017, 18:28
 
asmadeusДата: Понедельник, 25.12.2017, 20:02 | Сообщение № 1121
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, в последней бете мой вопрос решается с диалогом. Такая вышла кнопка:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
dilog=[sopen=BOX_UE1] copyy=GLOBALSOPEN1<1>||%%COMMANDER_PATH%%\INI//1||##DirMenu pause=500 infbx=InfoBox_UE2
%COMMANDER_PATH%\Wcmicons.dll,1064
Копирование пользовательских избранных каталогов

-1

Но возник новый вопрос - как копировать объекты с сохранением структуры?
Допустим, есть папка
Код
%COMMANDER_PATH%\Programs\Internet\Thunderbird\Data\profile

Нужно ее скопировать в папку
Код
D:\Backup\Nout

Чтобы вышло так:
Код
D:\Backup\Nout\Programs\Internet\Thunderbird\Data\profile

То есть создались недостающие папки с определенного места.
В справке видел только создание пустой структуры, копирования не замечал.
Есть плагин CopyTree, до недавнего времени устраивал, но его не завязать в командах.
Или это к автору?
 
chip642Дата: Понедельник, 25.12.2017, 21:34 | Сообщение № 1122
Генералиссимус

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

Интересная задачка. Получилось как-то так:

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
slist=%L||##path<0|0|1>||$$@CRLF||$$path<0|0|2> folds=D:\Backup\Nout\||GLOBALSLIST<2> copys=PS<GLOBALSLIST<1>//0>||GLOBALFOLDS<1>
%COMMANDER_PATH%\Wcmicons.dll,1
Копировать папку под курсором в папку D:\Backup\Nout\ с сохранением структуры отсекая корневой путь Total Commander

-1
 
asmadeusДата: Понедельник, 25.12.2017, 21:42 | Сообщение № 1123
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, ну ты и намутил! Без ста грамм не разберешься! Хотя работает как и надо!
up
Разберу на составляющие, чтобы понять, что за что отвечает и поправить по необходимости, если она будет.
Конечно, как вариант было бы неплохо иметь в наличии у команды копирования параметр сохранения структуры с указанием числа отсекаемых папок
 
chip642Дата: Понедельник, 25.12.2017, 22:03 | Сообщение № 1124
Генералиссимус

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

Да у меня после вчерашнего голова чугунная, сразу не въехал в задачу пришлось сосредотачиваться долго.))
Отойду может что-то еще придумаю. Насчет отсечения, то инструменты есть, но так как в условиях задачи фигурировал путь к папке относительно Total Commander, то я решил пойти таким путём.
В начале получаем относительный путь и путь с отсечением корневого пути Total Commander
копируемой папки, далее имея отсеченный путь, создаем в целевой папке пустую вложенную структуру (включая имя копируемой папки), ну и третьим действием копируем содержимое папки под курсором по пути создания вложенной структуры. Всё. :)
 
asmadeusДата: Понедельник, 25.12.2017, 22:07 | Сообщение № 1125
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, голова чугунная - это плохо) - по себе позавчера знаю))
По поводу задачи - случай частный, но могут быть и исключения.
К примеру, кнопка не работает с файлами под курсором, только папки - ну как собственно я и просил. Но бэкап дело такое мутное, не все же папки...
С файлами одиночными происходит создание папки именем файла, в коей собственно и лежит файл
 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

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