Страница 6 из 7

Добавлено: Чт мар 04, 2021 08:37
Monarch-LFV
Avada
Имена файлов/папок в буфере итак должны быть без путей. Если в разных папках лежат файлы с одинаковым именем, то в виртуальной панели BV или результата поиска выделятся все подобные.
Насколько я понял, в этом и заключался вопрос про поиск. Автор вопроса знал только имена файлов, но не знал в каких конкретно поддиректориях они расположены. Поэтому пытался вывести в плоский список все файлы и там уже выделить нужные.

тема

Добавлено: Чт июл 25, 2024 05:11
Customscargo
Batya писал(а):Используем
В каталоге плагина должен лежать файл General.vbs с содержимым:
14. Радоваться выделению файлов.
Здравствуйте! Меня тоже интересует данная тема, но я полный чайник в части программирования. Пытался что-то сделать по инструкции. Но смог только скачать Total Commander. Подскажите пошагово, что и куда надо вставить? Задача: есть файлы в папке C:\PIC. Маска: артикул*.jpg. Оператор в excl определяет свой список артикулов. И потом из этой папки, ручками, копирует каждое изображение в C:\Выгрузка. Хотелось бы ускорить процесс. Т.к. бывает нужно и по 50-100 картинок за раз скопировать.

Добавлено: Чт июл 25, 2024 07:08
Avada
Customscargo
С копированием всё понятно. С одной стороны исходная папка, где выделены все нужные файлы, с другой целевая, куда их нужно скопировать. Вопрос другой — как получить список для выделения? Вот тут-то и будет затык.
Да, в TC есть много способов выделения по списку. (Кстати, не стоило ссылаться на самое начало обсуждения, где за много лет успело появиться много самых разных решений, в т.ч. на основе стандартного функционала.) Но экселевские списки (которые ни разу не простые тексты) — история совсем другая, о чём на форуме уже говорилось (пример). Это не говоря про то, что в разных офисных пакетах могут быть разные форматы файлов Excel.
Пока что ничего специфичного для TC и оправдывающего автоматизацию именно с его участием (да ещё при освоении с нуля!) в задаче не вижу. Отсутствие базовых знаний о работе в этой программе очень часто (в этом случае, ИМХО, тоже) не удаётся заменить никакими пошаговыми подсказками. Желающие могут, конечно, попытаться, но...

Добавлено: Чт июл 25, 2024 09:52
Monarch-LFV
Avada
На самом деле эксель тут не причем (можно хоть из текстового файла, просто в экселе фильтрами удобно пользоваться), тут важно, что в экселе скорее всего в столбце перечислены файлы (возможно только имена или только часть имени, например артикул). И, как я понял, автор вопроса хочет согласно выделенных артикулов в столбце экселя выделить соответствующие файлы для последующего копирования.
У меня подобные задачи были, поэтому способ, и даже не один, есть.

Customscargo
Нужно скопировать эти артикулы в буфер обмена, а далее работать уже с содержимым буфера. А для этого нужна утилита TCIMG .
Далее у меня есть пару уже готовых кнопок (только путь до утилиты TCIMG нужно вписать свой):

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.exe
xends=-1??-1 sends=$GLOBALXENDS??-1||@CRLF!!| marks=0||test<1n!!GLOBALSENDS<1>>
WCMICONS.dll,72
Выделить ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.exe
sends=-1??-1||@CRLF!!| marks=0||test<1i!!GLOBALSENDS<1>>
WCMICONS.dll,72
Выделить ОБЪЕКТЫ из списка в буфере обмена (точное совпадение имен)
Кроме этого есть кнопки конкретно для файлов, и конкретно для папок. Здесь же под ОБЪЕКТОМ подразумеывается файл или папка, то есть более универсальная.
Как скопировать кнопку и установить себе на панель - здесь полное описание.
Вырезка оттуда:
LocKtaR-o-DarK писал(а):— чтобы забрать кнопку, скопируйте содержимое кода нужной кнопки, правой кнопкой мыши щелкните на нужном месте панели управления (кнопок) тотала и выберите "Вставить";

Добавлено: Чт июл 25, 2024 19:58
Customscargo
Да, совершенно верно. Ексель это для примера.
Скачал утилиту. Там же прочитал как закрепить кнопку на панели ТС, путем перетаскивания в область панели инструментов.
Поправил путь, сохранил My_script1.vbs и My_script2.vbs. А что дальше с этим делать не понимаю. На панель TCIMG.exe не перетаскиваются.

Добавлено: Чт июл 25, 2024 23:54
Monarch-LFV
Customscargo писал(а):Скачал утилиту.
После этих слов вообще все не то. Утилиту распаковать и положить в папку внутри тотала “.\plugins\exe\TCIMG\”. Скопировать одну из двух моих кнопок и вставить на панель кнопок тотала. Все!
PS. Если вы не будете знать базы по пользованию тотала, у вас никогда ничего не получится, даже с советами форумчан.

Добавлено: Пт июл 26, 2024 04:32
Lnk
http://wincmd.ru/plugring/TCIMG.html Крутая прога) но сложная.. для тру профи)

[cut]Я себе делал такую кнопку

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_LoadSelectionFromClip, cm_RenMov /G /T="c:\music\"

C:\progs\!progs inst\tc\wcm znachki.icl,91



-1
Берет из буфера список, выделяет файлы и переносит в c:\music\
К примеру в буфере *.mp3 *.ogg , он все файлы с такими расширениями закинет в c:\music\ .[/cut]
По идее должно работать и с артикул*.jpg (не знаю что там за артикулы, может через регекспы прописаны и буфер с таким не работает)

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_LoadSelectionFromClip, cm_Copy /G /T="c:\Выгрузка\"

C:\progs\!progs inst\tc\wcm znachki.icl,91



-1
Еще можно через cm_LoadSelectionFromFile, но тогда еm команду над писать и файл создавать.

Добавлено: Пт июл 26, 2024 05:29
Monarch-LFV
Lnk
Команда cm_LoadSelectionFromClip сработает только в том случае, если в буфере обмена ПОЛНОСТЬЮ совпадают имена, включая расширение (ровно как и команда cm_LoadSelectionFromFile). А это значит, что в экселе должны быть именно такие полные имена. Но это же неудобно. В моей задаче, как и в задаче автора вопроса, нужно выделить файлы по части (фрагменту) имени. Конечно же, фрагменты должны быть уникальны, но если говорим об артикулах или других уникальных вещах, то однозначность гарантируется.
А по поводу утилиты TCIMG - сначала кажется сложной, но если посмотреть примеры в справке, а их там тысячи (причем, автор утилиты постарался сделать подробную и удобную справку), то можно или найти уже готовый код для кнопки, или же составить самому. Немного потратить время на изучение синтаксиса, зато открывается масса дополнительных возможностей. У меня большая часть функционала тотала настроена благодаря этой утилите. К слову есть подобная утилита TCFS2, вероятно на ней тоже можно написать подобный код (может кто еще подскажет), но мне лично хватает TCIMG.

Добавлено: Пт июл 26, 2024 05:41
Lnk
Monarch-LFV
все понятно, ну ваш вариант по любому шикарен) Только он не закопирует же файлы, лишь выделит. Потому я написал, для авто копирования\перемещения подойдет, если нужны простые множественные выделения(к примеру артикулы чем-то разделены, типа _ или точкой, тогда можно остальные части заменить на *).

PS как раз мысль пришла насчет регекспов и фрагментов, пока редактировал вы уже ответили и все прояснили).
PSS TCIMG мне понравилась)

Добавлено: Пт июл 26, 2024 06:16
Monarch-LFV
Lnk
Ну, во-первых, после выделения лучше отследить правильность выделения, хотя бы по количеству выделенных файлов. Не глядя делать - чревато.
А во-вторых, что мешает дописать в конец кода следующий процесс копирования (во вторую панель):
copys=[tc=AL]||"%t"//0

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.exe
xends=-1??-1 sends=$GLOBALXENDS??-1||@CRLF!!| marks=0||test<1n!!GLOBALSENDS<1>> copys=[tc=AL]||"%t"//0
WCMICONS.dll,45
Скопировать во вторую панель ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена
Если нужно указать конкретную папку, то вместо %t указать конкретный путь, заменив все пробелы в пути на символы "~~".

Добавлено: Пт июл 26, 2024 06:23
Lnk
Monarch-LFV писал(а): что мешает дописать в конец кода следующий процесс копирования

Мне лично мешала недостаточная изученность TIMG, взял на вооружение эту кнопку тоже, пригодится, спасибо)

Добавлено: Пт июл 26, 2024 07:33
Customscargo
Monarch-LFV писал(а): Утилиту распаковать и положить в папку внутри тотала “.\plugins\exe\TCIMG\”. Скопировать одну из двух моих кнопок и вставить на панель кнопок тотала. Все!
Скопировал *.vbs в \plugins\exe\TCIMG\ и перенес (ранее ч/з проводник пытался) на панель. Уже что-то получилось )
Но при нажатии на кнопку выдает ошибку. ...Ошибка компиляции

Добавлено: Пт июл 26, 2024 08:23
Monarch-LFV
Customscargo
В такие моменты хочется материться. Причем тут VBS?
Сделайте строго по инструкции, которую я вам написал выше. Там ничего нет про VBS и все достаточно просто (2 клика).
Разберитесь вначале с терминологией, что такое панель кнопок (инструментов) и т.п. Ссылку на подробное описание, как обмениваться кнопками, я также дал выше. Освойте сами, за вас этого никто не сделает. И только потом пишите.

Добавлено спустя 7 минут:

Как обмениваться кнопками Total Commander?

Добавлено: Пт июл 26, 2024 10:21
Customscargo
Матерится не надо. Я в вашей строгой инструкции не нашел как копировать кнопку. Перед глазами вижу код, которую вы называете кнопкой. Если все так просто в 2 клика, то может дело в инструкции?

Добавлено: Пт июл 26, 2024 10:27
Monarch-LFV
Customscargo
Вы меня еще начните обвинять в ваших неудачных потугах... :evil:
Всем на форуме, кроме вас, понятно. Ссылки хоть открывали? Там даже картинки есть для "совсем новичков". Вам знакомы комбинации клавиш "копировать - вставить"? Здесь нужно только это. Не хочется такой перепиской засорять форум. Если и после этого вы ничего не сможете, то я опускаю руки, это не ваше, делайте вручную.