Выделить файлы по созданному списку
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Avada
Имена файлов/папок в буфере итак должны быть без путей. Если в разных папках лежат файлы с одинаковым именем, то в виртуальной панели BV или результата поиска выделятся все подобные.
Насколько я понял, в этом и заключался вопрос про поиск. Автор вопроса знал только имена файлов, но не знал в каких конкретно поддиректориях они расположены. Поэтому пытался вывести в плоский список все файлы и там уже выделить нужные.
Имена файлов/папок в буфере итак должны быть без путей. Если в разных папках лежат файлы с одинаковым именем, то в виртуальной панели BV или результата поиска выделятся все подобные.
Насколько я понял, в этом и заключался вопрос про поиск. Автор вопроса знал только имена файлов, но не знал в каких конкретно поддиректориях они расположены. Поэтому пытался вывести в плоский список все файлы и там уже выделить нужные.
-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
тема
Здравствуйте! Меня тоже интересует данная тема, но я полный чайник в части программирования. Пытался что-то сделать по инструкции. Но смог только скачать Total Commander. Подскажите пошагово, что и куда надо вставить? Задача: есть файлы в папке C:\PIC. Маска: артикул*.jpg. Оператор в excl определяет свой список артикулов. И потом из этой папки, ручками, копирует каждое изображение в C:\Выгрузка. Хотелось бы ускорить процесс. Т.к. бывает нужно и по 50-100 картинок за раз скопировать.Batya писал(а):Используем
В каталоге плагина должен лежать файл General.vbs с содержимым:
14. Радоваться выделению файлов.
Customscargo
С копированием всё понятно. С одной стороны исходная папка, где выделены все нужные файлы, с другой целевая, куда их нужно скопировать. Вопрос другой — как получить список для выделения? Вот тут-то и будет затык.
Да, в TC есть много способов выделения по списку. (Кстати, не стоило ссылаться на самое начало обсуждения, где за много лет успело появиться много самых разных решений, в т.ч. на основе стандартного функционала.) Но экселевские списки (которые ни разу не простые тексты) — история совсем другая, о чём на форуме уже говорилось (пример). Это не говоря про то, что в разных офисных пакетах могут быть разные форматы файлов Excel.
Пока что ничего специфичного для TC и оправдывающего автоматизацию именно с его участием (да ещё при освоении с нуля!) в задаче не вижу. Отсутствие базовых знаний о работе в этой программе очень часто (в этом случае, ИМХО, тоже) не удаётся заменить никакими пошаговыми подсказками. Желающие могут, конечно, попытаться, но...
С копированием всё понятно. С одной стороны исходная папка, где выделены все нужные файлы, с другой целевая, куда их нужно скопировать. Вопрос другой — как получить список для выделения? Вот тут-то и будет затык.
Да, в TC есть много способов выделения по списку. (Кстати, не стоило ссылаться на самое начало обсуждения, где за много лет успело появиться много самых разных решений, в т.ч. на основе стандартного функционала.) Но экселевские списки (которые ни разу не простые тексты) — история совсем другая, о чём на форуме уже говорилось (пример). Это не говоря про то, что в разных офисных пакетах могут быть разные форматы файлов Excel.
Пока что ничего специфичного для TC и оправдывающего автоматизацию именно с его участием (да ещё при освоении с нуля!) в задаче не вижу. Отсутствие базовых знаний о работе в этой программе очень часто (в этом случае, ИМХО, тоже) не удаётся заменить никакими пошаговыми подсказками. Желающие могут, конечно, попытаться, но...
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Avada
На самом деле эксель тут не причем (можно хоть из текстового файла, просто в экселе фильтрами удобно пользоваться), тут важно, что в экселе скорее всего в столбце перечислены файлы (возможно только имена или только часть имени, например артикул). И, как я понял, автор вопроса хочет согласно выделенных артикулов в столбце экселя выделить соответствующие файлы для последующего копирования.
У меня подобные задачи были, поэтому способ, и даже не один, есть.
Customscargo
Нужно скопировать эти артикулы в буфер обмена, а далее работать уже с содержимым буфера. А для этого нужна утилита TCIMG .
Далее у меня есть пару уже готовых кнопок (только путь до утилиты TCIMG нужно вписать свой):
Кроме этого есть кнопки конкретно для файлов, и конкретно для папок. Здесь же под ОБЪЕКТОМ подразумеывается файл или папка, то есть более универсальная.
Как скопировать кнопку и установить себе на панель - здесь полное описание.
Вырезка оттуда:
На самом деле эксель тут не причем (можно хоть из текстового файла, просто в экселе фильтрами удобно пользоваться), тут важно, что в экселе скорее всего в столбце перечислены файлы (возможно только имена или только часть имени, например артикул). И, как я понял, автор вопроса хочет согласно выделенных артикулов в столбце экселя выделить соответствующие файлы для последующего копирования.
У меня подобные задачи были, поэтому способ, и даже не один, есть.
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 писал(а):— чтобы забрать кнопку, скопируйте содержимое кода нужной кнопки, правой кнопкой мыши щелкните на нужном месте панели управления (кнопок) тотала и выберите "Вставить";
-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
Да, совершенно верно. Ексель это для примера.
Скачал утилиту. Там же прочитал как закрепить кнопку на панели ТС, путем перетаскивания в область панели инструментов.
Поправил путь, сохранил My_script1.vbs и My_script2.vbs. А что дальше с этим делать не понимаю. На панель TCIMG.exe не перетаскиваются.
Скачал утилиту. Там же прочитал как закрепить кнопку на панели ТС, путем перетаскивания в область панели инструментов.
Поправил путь, сохранил My_script1.vbs и My_script2.vbs. А что дальше с этим делать не понимаю. На панель TCIMG.exe не перетаскиваются.
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
После этих слов вообще все не то. Утилиту распаковать и положить в папку внутри тотала “.\plugins\exe\TCIMG\”. Скопировать одну из двух моих кнопок и вставить на панель кнопок тотала. Все!Customscargo писал(а):Скачал утилиту.
PS. Если вы не будете знать базы по пользованию тотала, у вас никогда ничего не получится, даже с советами форумчан.
http://wincmd.ru/plugring/TCIMG.html Крутая прога) но сложная.. для тру профи)
[cut]Я себе делал такую кнопку
Берет из буфера список, выделяет файлы и переносит в c:\music\
К примеру в буфере *.mp3 *.ogg , он все файлы с такими расширениями закинет в c:\music\ .[/cut]
По идее должно работать и с артикул*.jpg (не знаю что там за артикулы, может через регекспы прописаны и буфер с таким не работает)
Еще можно через cm_LoadSelectionFromFile, но тогда еm команду над писать и файл создавать.
[cut]Я себе делал такую кнопку
Код: Выделить всё
TOTALCMD#BAR#DATA
cm_LoadSelectionFromClip, cm_RenMov /G /T="c:\music\"
C:\progs\!progs inst\tc\wcm znachki.icl,91
-1К примеру в буфере *.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
Последний раз редактировалось Lnk Пт июл 26, 2024 05:49, всего редактировалось 2 раза.
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Lnk
Команда cm_LoadSelectionFromClip сработает только в том случае, если в буфере обмена ПОЛНОСТЬЮ совпадают имена, включая расширение (ровно как и команда cm_LoadSelectionFromFile). А это значит, что в экселе должны быть именно такие полные имена. Но это же неудобно. В моей задаче, как и в задаче автора вопроса, нужно выделить файлы по части (фрагменту) имени. Конечно же, фрагменты должны быть уникальны, но если говорим об артикулах или других уникальных вещах, то однозначность гарантируется.
А по поводу утилиты TCIMG - сначала кажется сложной, но если посмотреть примеры в справке, а их там тысячи (причем, автор утилиты постарался сделать подробную и удобную справку), то можно или найти уже готовый код для кнопки, или же составить самому. Немного потратить время на изучение синтаксиса, зато открывается масса дополнительных возможностей. У меня большая часть функционала тотала настроена благодаря этой утилите. К слову есть подобная утилита TCFS2, вероятно на ней тоже можно написать подобный код (может кто еще подскажет), но мне лично хватает TCIMG.
Команда cm_LoadSelectionFromClip сработает только в том случае, если в буфере обмена ПОЛНОСТЬЮ совпадают имена, включая расширение (ровно как и команда cm_LoadSelectionFromFile). А это значит, что в экселе должны быть именно такие полные имена. Но это же неудобно. В моей задаче, как и в задаче автора вопроса, нужно выделить файлы по части (фрагменту) имени. Конечно же, фрагменты должны быть уникальны, но если говорим об артикулах или других уникальных вещах, то однозначность гарантируется.
А по поводу утилиты TCIMG - сначала кажется сложной, но если посмотреть примеры в справке, а их там тысячи (причем, автор утилиты постарался сделать подробную и удобную справку), то можно или найти уже готовый код для кнопки, или же составить самому. Немного потратить время на изучение синтаксиса, зато открывается масса дополнительных возможностей. У меня большая часть функционала тотала настроена благодаря этой утилите. К слову есть подобная утилита TCFS2, вероятно на ней тоже можно написать подобный код (может кто еще подскажет), но мне лично хватает TCIMG.
Monarch-LFV
все понятно, ну ваш вариант по любому шикарен) Только он не закопирует же файлы, лишь выделит. Потому я написал, для авто копирования\перемещения подойдет, если нужны простые множественные выделения(к примеру артикулы чем-то разделены, типа _ или точкой, тогда можно остальные части заменить на *).
PS как раз мысль пришла насчет регекспов и фрагментов, пока редактировал вы уже ответили и все прояснили).
PSS TCIMG мне понравилась)
все понятно, ну ваш вариант по любому шикарен) Только он не закопирует же файлы, лишь выделит. Потому я написал, для авто копирования\перемещения подойдет, если нужны простые множественные выделения(к примеру артикулы чем-то разделены, типа _ или точкой, тогда можно остальные части заменить на *).
PS как раз мысль пришла насчет регекспов и фрагментов, пока редактировал вы уже ответили и все прояснили).
PSS TCIMG мне понравилась)
Последний раз редактировалось Lnk Пт июл 26, 2024 06:19, всего редактировалось 1 раз.
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Lnk
Ну, во-первых, после выделения лучше отследить правильность выделения, хотя бы по количеству выделенных файлов. Не глядя делать - чревато.
А во-вторых, что мешает дописать в конец кода следующий процесс копирования (во вторую панель):
copys=[tc=AL]||"%t"//0
Если нужно указать конкретную папку, то вместо %t указать конкретный путь, заменив все пробелы в пути на символы "~~".
Ну, во-первых, после выделения лучше отследить правильность выделения, хотя бы по количеству выделенных файлов. Не глядя делать - чревато.
А во-вторых, что мешает дописать в конец кода следующий процесс копирования (во вторую панель):
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
Скопировать во вторую панель ОБЪЕКТЫ, в именах которых есть фрагменты из списка буфера обмена-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
Скопировал *.vbs в \plugins\exe\TCIMG\ и перенес (ранее ч/з проводник пытался) на панель. Уже что-то получилось )Monarch-LFV писал(а): Утилиту распаковать и положить в папку внутри тотала “.\plugins\exe\TCIMG\”. Скопировать одну из двух моих кнопок и вставить на панель кнопок тотала. Все!
Но при нажатии на кнопку выдает ошибку. ...Ошибка компиляции
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Customscargo
В такие моменты хочется материться. Причем тут VBS?
Сделайте строго по инструкции, которую я вам написал выше. Там ничего нет про VBS и все достаточно просто (2 клика).
Разберитесь вначале с терминологией, что такое панель кнопок (инструментов) и т.п. Ссылку на подробное описание, как обмениваться кнопками, я также дал выше. Освойте сами, за вас этого никто не сделает. И только потом пишите.
Добавлено спустя 7 минут:
Как обмениваться кнопками Total Commander?
В такие моменты хочется материться. Причем тут VBS?
Сделайте строго по инструкции, которую я вам написал выше. Там ничего нет про VBS и все достаточно просто (2 клика).
Разберитесь вначале с терминологией, что такое панель кнопок (инструментов) и т.п. Ссылку на подробное описание, как обмениваться кнопками, я также дал выше. Освойте сами, за вас этого никто не сделает. И только потом пишите.
Добавлено спустя 7 минут:
Как обмениваться кнопками Total Commander?
-
Customscargo
- Сообщения: 8
- Зарегистрирован: Чт июл 25, 2024 04:52
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
Customscargo
Вы меня еще начните обвинять в ваших неудачных потугах...
Всем на форуме, кроме вас, понятно. Ссылки хоть открывали? Там даже картинки есть для "совсем новичков". Вам знакомы комбинации клавиш "копировать - вставить"? Здесь нужно только это. Не хочется такой перепиской засорять форум. Если и после этого вы ничего не сможете, то я опускаю руки, это не ваше, делайте вручную.
Вы меня еще начните обвинять в ваших неудачных потугах...
Всем на форуме, кроме вас, понятно. Ссылки хоть открывали? Там даже картинки есть для "совсем новичков". Вам знакомы комбинации клавиш "копировать - вставить"? Здесь нужно только это. Не хочется такой перепиской засорять форум. Если и после этого вы ничего не сможете, то я опускаю руки, это не ваше, делайте вручную.