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

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




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


Группа TCIMG в Telegram

.
 
chip642Дата: Вторник, 19.12.2017, 23:48 | Сообщение № 1111
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1511
Награды: 62
Репутация: 59
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 | Сообщение № 1112
Полковник

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

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

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

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

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1511
Награды: 62
Репутация: 59
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 | Сообщение № 1114
Полковник

На сайте с: 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 | Сообщение № 1115
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1511
Награды: 62
Репутация: 59
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 | Сообщение № 1116
Полковник

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

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

На сайте с: 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 | Сообщение № 1118
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1511
Награды: 62
Репутация: 59
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 | Сообщение № 1119
Генералиссимус

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

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

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

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, голова чугунная - это плохо) - по себе позавчера знаю))
По поводу задачи - случай частный, но могут быть и исключения.
К примеру, кнопка не работает с файлами под курсором, только папки - ну как собственно я и просил. Но бэкап дело такое мутное, не все же папки...
С файлами одиночными происходит создание папки именем файла, в коей собственно и лежит файл
 
chip642Дата: Понедельник, 25.12.2017, 22:15 | Сообщение № 1122
Генералиссимус

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

Задача ясна, пошаманим. )
 
chip642Дата: Вторник, 26.12.2017, 11:10 | Сообщение № 1123
Генералиссимус

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

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
copys=%L||D:\Backup\Nout\:://1//(.*\\)(\w:\\)(([^\\]*\\){[combo=Резервное~~копирование||Введите~~число~~отсекаемых~~папок~~с~~начала~~пути~~копируемых~~объектов~~(диск~~не~~учитывается)||1|2|3|4||400||130||1||1]})(.*\\).+\\?//$1$5
%COMMANDER_PATH%\Wcmicons.dll,1
Копировать выделенные объекты (с заменой) в папку D:\Backup\Nout\ с сохранением структуры отсекая выбранное количество папок с начала пути

-1


Появляется диалоговое окно, вводим или выбираем количество отбрасываемых папок с начала пути и ОК.



Для компактности кнопки желающие могут создать свой шаблон диалога в TCIMGU.lng.

-----------

Та же кнопка, только папка назначения другая панель Total Commander.

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
copys=%L||"%t":://1//(.*\\)(\w:\\)(([^\\]*\\){[combo=Резервное~~копирование||Введите~~число~~отсекаемых~~папок~~с~~начала~~пути~~копируемых~~объектов~~(диск~~не~~учитывается)||1|2|3|4||400||130||1||1]})(.*\\).+\\?//$1$5
%COMMANDER_PATH%\Wcmicons.dll,1
Копировать выделенные объекты (с заменой) в другую панель с сохранением структуры отсекая выбранное количество папок с начала пути

-1
 
asmadeusДата: Вторник, 26.12.2017, 20:29 | Сообщение № 1124
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, ну ты прямо гений кнопок)) В первом варианте вчера хоть что то понятно было - глобальные переменные, списки... А здесь - просто темный лес.
Цитата chip642 ()
Та же кнопка, только папка назначения другая панель Total Commander.

На том месте вообще будет input для ввода имени - так по крайней мере думаю, а в процессе посмотрим
good

Добавлено
А не все так безоблачно оказалось. Я по наивности думал, что создавать структуру - это главная проблема.
Итак, что мы имеем?
Подсовываю в кнопку диалог для ввода имени папки в папке backup - нормально
Подсовываю список файлов для копирования - ноль реакции. Точнее, как ноль - появляется диалог для ввода имени папки, потом комбо для ввода чиста отсекаемых папок - и потом уже ноль.
Список файлов подставлял и напрямую - через разделитель
и через лист с именами файлов
и через listf<>
относительные, абсолютные имена, двойной процент - все пробовалось
Подозреваю, что команде нужен цикл
И еще подозреваю, что с утилитой отношения у меня не сложились
Пройдут праздники, буду думать
 
chip642Дата: Среда, 27.12.2017, 16:06 | Сообщение № 1125
Генералиссимус

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

Времени сейчас нет рассматривать с listf<>, да и зачем он нужен, когда можно по списку из файла =>

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
sends=C:\FilesList.txt??-1 copys=$GLOBALSENDS||"%t":://1//(.*\\)(\w:\\)(([^\\]*\\){[input]})(.*\\).+\\?//$1$5
%COMMANDER_PATH%\Wcmicons.dll,1
Копировать выделенные файлы по списку путей из C:\FilesList.txt (с заменой) в другую панель с сохранением структуры отсекая выбранное количество папок с начала пути

-1
-1


Всё работает!
 
Поиск:

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