Выделить файлы по созданному списку

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Customscargo
Сообщения: 8
Зарегистрирован: Чт июл 25, 2024 04:52

Сообщение Customscargo »

Извините "Как обмениваться кнопками Total Commander?" не обратил внимание на ссылку.
Я в Настройки кнопки панели инструментов, в строке Параметры: ввел - sends=-1??-1||@CRLF!!| marks=0||test<1i!!GLOBALSENDS<1>>
Куда вставить переменную WCMICONS.dll,72 не соображу.
Попробовал запустить (в екселе скопировал пару артикулов Ctrl+C. в ТС открыл папку с картинками, нажал кнопку), прога ругается - Function Not Realised! em_CommandTCIMG888
PauseTcPrm в секции в TCIMG.ini увеличил паузу до 100000 не помогло.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Customscargo

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

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
Выделить ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена
Monarch-LFV предоставил вам рабочий код кнопки. Этот код следует выделить, скопировать в буфер и затем вставить на панель инструментов, щелкнув по ней правой кнопкой мыши и выбрав соответствующую команду. Кнопка - рабочая. Выделяете в Excel артикулы, копируете их в буфер обмена и жмете на эту кнопку стоя в каталоге с jpg-файлами. Они должны выделится. Думаю, вам стоит после выделения скопировать файлы сначала во временный каталог, где их и проверить, прежде чем проводить операцию на беловике.
Customscargo
Сообщения: 8
Зарегистрирован: Чт июл 25, 2024 04:52

Сообщение Customscargo »

Все равно ругается - Function Not Realised! em_CommandTCIMG888.
Подумал что файлов много в папке. Оставил 6 файлов, не помогло
Но кнопку "нарисовал" как надо.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Customscargo писал(а):Но кнопку "нарисовал" как надо.
Щелкните по ней правой кнопкой мыши и выбирете пункт "Копировать". Так копируется код кнопки. Откройте блокнот и вставьте полученный код. Совпадает с кодом на форуме?
Customscargo
Сообщения: 8
Зарегистрирован: Чт июл 25, 2024 04:52

Сообщение Customscargo »

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

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
Выделить ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена


-1
"-1" появляется. Два раза пробовал.
Аватара пользователя
Monarch-LFV
Сообщения: 360
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

Customscargo
Сдается мне, что вы даже не смотрели ссылки, которые я вам давал. Для чего тогда спрашиваете? Это же можно найти самостоятельно. Так и должно быть, просто этой «-1» можно пренебречь (не копировать в код). Она при вставке создастся сама. Вот описание.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Customscargo
Судя по всему, кнопка у вас действительно "нарисовалась" правильно. Но если при её нажатии вы ловите "Function Not Realised! em_CommandTCIMG888", то тут, видимо, надо к автору TCIMG обращаться - наверное, только он сможет вам ответить, что приводит к появлению этой ошибки (у меня, например, всё работает). Это может быть и Windows старая, и Total не той версии, и недоработка в самой утилите TCIMG.

Вашу ошибку можно повторить следующей кнопкой:

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

TOTALCMD#BAR#DATA
em_CommandTCIMG888

WCMICONS.dll,55
Ошибка
Но лично мне это ничего не объясняет, лишь наводит на некоторые мысли, озвученные выше.

Вот здесь топик с автором:
https://tc-image.3dn.ru/forum/5-498-1
или
https://forum.ru-board.com/topic.cgi?fo ... ic=50714#1
Можете спросить у него напрямую.

Также советую использовать проверенную сборку, где есть TCIMG, чтобы исключить вопросы по её работоспособности и прочих настроек ТС:
https://forum.ru-board.com/topic.cgi?fo ... pic=3767#1
Customscargo
Сообщения: 8
Зарегистрирован: Чт июл 25, 2024 04:52

Сообщение Customscargo »

Это может быть и Windows старая, и Total не той версии - тоже так думаю, где-то глюки с кодировкой видимо. Наверное стоит поискать готовые решения в виде других программ.
Аватара пользователя
Monarch-LFV
Сообщения: 360
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

Customscargo
Здесь описана возникающая ошибка с em_CommandTCIMG888 и даны несколько решений этой проблемы. С задержкой вы выше уже пытались решить проблему, но, так понимаю, ничего не вышло. Другие пути решения смотрели?
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Customscargo писал(а):Это может быть и Windows старая, и Total не той версии - тоже так думаю, где-то глюки с кодировкой видимо.
Скорее всего у вас проблема с правами или с ограничением на запись в файл UserCmd.ini (спасибо Monarch-LFV за ссылку). В первом случае достаточно запустить ТС от администратора, во втором - убедитесь, что файл UserCmd.ini у вас создан и не имеет аттрибута "только чтение". Проблема в том, что этот файл может располагаться в разных каталогах, поэтому и советую воспользоваться готовой (желательно портативной) сборкой.
Customscargo писал(а):Наверное стоит поискать готовые решения в виде других программ.
В вашем случе идеальным будет написать макрос (скрипт) в Excel на встроенном языке VBA. У вас очень простая задача. Человек, который в этом разбирается, сделает всё очень быстро. Вот только где вам его найти, такого человека, сказать не могу. Есть же специальные площадки, где делают код на заказ.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Эх, пробило меня сделать для вас скрипт, Customscargo. Вижу, что вам очень хочется иметь такую кнопку, но всё никак не срастается.

Кнопка:

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

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\AutoHotkey32.exe"

%COMMANDER_PATH%\AutoHotkey32.exe
Выделить из буфера


-1
Скачайте архив:
https://www.autohotkey.com/download/ahk-v2.zip
Скопируйте из него AutoHotkey32.exe в корень Total Commander. Рядом создайте текстовый файл AutoHotkey32.ahk с содержимым:
[cut]#Requires AutoHotkey v2

FileList := ""

if StrLen(A_Clipboard) = 0
{
MsgBox "Буфер пустой", "Скрипт"
Return
}

clip := A_Clipboard

bf := ""

b:=0
Loop Parse, A_Clipboard, "`n", "`r"
{
if StrLen(Trim(A_LoopField)) > 0
++b
if b < 4
bf .= A_LoopField "`n"
}

i:=0
Loop Files, A_InitialWorkingDir . "\*.*"
{
if CheckFile(A_LoopFileName)
{
FileList .= A_LoopFileName "`n"
++i
}
}

MsgBox "Записей в буфере: " b "`n`n" SubStr(bf, 1, 100) "`nБудет выделено файлов: " i, "Скрипт"

A_Clipboard := FileList

SendMessage(1075, 2033, 0, , "ahk_class TTOTAL_CMD")

Sleep(100)
A_Clipboard := clip

CheckFile(file)
{
Loop Parse, A_Clipboard, "`n", "`r"
{
buff:=Trim(A_LoopField)

if StrLen(buff) > 0 and InStr(file, buff) > 0
Return true
}
Return false
}[/cut]
Сохраните его в UTF-8, иначе могут быть проблемы с русскими символами.

Все. Кнопка готова! :wink:
Ответить