Выделить файлы по созданному списку
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
Извините "Как обмениваться кнопками 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 не помогло.
Я в Настройки кнопки панели инструментов, в строке Параметры: ввел - sends=-1??-1||@CRLF!!| marks=0||test<1i!!GLOBALSENDS<1>>
Куда вставить переменную WCMICONS.dll,72 не соображу.
Попробовал запустить (в екселе скопировал пару артикулов Ctrl+C. в ТС открыл папку с картинками, нажал кнопку), прога ругается - Function Not Realised! em_CommandTCIMG888
PauseTcPrm в секции в TCIMG.ini увеличил паузу до 100000 не помогло.
Customscargo
Monarch-LFV предоставил вам рабочий код кнопки. Этот код следует выделить, скопировать в буфер и затем вставить на панель инструментов, щелкнув по ней правой кнопкой мыши и выбрав соответствующую команду. Кнопка - рабочая. Выделяете в Excel артикулы, копируете их в буфер обмена и жмете на эту кнопку стоя в каталоге с jpg-файлами. Они должны выделится. Думаю, вам стоит после выделения скопировать файлы сначала во временный каталог, где их и проверить, прежде чем проводить операцию на беловике.
Код: Выделить всё
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
Выделить ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
Код: Выделить всё
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- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Customscargo
Сдается мне, что вы даже не смотрели ссылки, которые я вам давал. Для чего тогда спрашиваете? Это же можно найти самостоятельно. Так и должно быть, просто этой «-1» можно пренебречь (не копировать в код). Она при вставке создастся сама. Вот описание.
Сдается мне, что вы даже не смотрели ссылки, которые я вам давал. Для чего тогда спрашиваете? Это же можно найти самостоятельно. Так и должно быть, просто этой «-1» можно пренебречь (не копировать в код). Она при вставке создастся сама. Вот описание.
Customscargo
Судя по всему, кнопка у вас действительно "нарисовалась" правильно. Но если при её нажатии вы ловите "Function Not Realised! em_CommandTCIMG888", то тут, видимо, надо к автору TCIMG обращаться - наверное, только он сможет вам ответить, что приводит к появлению этой ошибки (у меня, например, всё работает). Это может быть и Windows старая, и Total не той версии, и недоработка в самой утилите TCIMG.
Вашу ошибку можно повторить следующей кнопкой:
Но лично мне это ничего не объясняет, лишь наводит на некоторые мысли, озвученные выше.
Вот здесь топик с автором:
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
Судя по всему, кнопка у вас действительно "нарисовалась" правильно. Но если при её нажатии вы ловите "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
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Customscargo
Здесь описана возникающая ошибка с em_CommandTCIMG888 и даны несколько решений этой проблемы. С задержкой вы выше уже пытались решить проблему, но, так понимаю, ничего не вышло. Другие пути решения смотрели?
Здесь описана возникающая ошибка с em_CommandTCIMG888 и даны несколько решений этой проблемы. С задержкой вы выше уже пытались решить проблему, но, так понимаю, ничего не вышло. Другие пути решения смотрели?
Скорее всего у вас проблема с правами или с ограничением на запись в файл UserCmd.ini (спасибо Monarch-LFV за ссылку). В первом случае достаточно запустить ТС от администратора, во втором - убедитесь, что файл UserCmd.ini у вас создан и не имеет аттрибута "только чтение". Проблема в том, что этот файл может располагаться в разных каталогах, поэтому и советую воспользоваться готовой (желательно портативной) сборкой.Customscargo писал(а):Это может быть и Windows старая, и Total не той версии - тоже так думаю, где-то глюки с кодировкой видимо.
В вашем случе идеальным будет написать макрос (скрипт) в Excel на встроенном языке VBA. У вас очень простая задача. Человек, который в этом разбирается, сделает всё очень быстро. Вот только где вам его найти, такого человека, сказать не могу. Есть же специальные площадки, где делают код на заказ.Customscargo писал(а):Наверное стоит поискать готовые решения в виде других программ.
Эх, пробило меня сделать для вас скрипт, Customscargo. Вижу, что вам очень хочется иметь такую кнопку, но всё никак не срастается.
Кнопка:
Скачайте архив:
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, иначе могут быть проблемы с русскими символами.
Все. Кнопка готова!
Кнопка:
Код: Выделить всё
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, иначе могут быть проблемы с русскими символами.
Все. Кнопка готова!