View previous topic :: View next topic |
Author |
Message |
Segmentum
Joined: 13 Oct 2020 Posts: 21
|
(Separately) Posted: Fri Nov 06, 2020 20:39 Post subject: Взять ширину/высоту из имени файла при правке атрибутов |
|
|
Мне нужно заполнить теги "Ширина" и "Высота" wdx-плагина "jpg-comment" на основе имени файла. Но я не могу этого сделать - мне доступны не все значения, и имя файла к ним не относится.
Как я понял, это из-за типов значений. Значения могут быть строкой, числом, логическим, или каким-то ещё типом. Возможно это явление именуется не "типом данных значения", а другим термином. Если это так, извините за безграмотность.
Как можно решить мою проблему?
Искал, и не нашёл. Создал эту тему. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Fri Nov 06, 2020 21:08 Post subject: |
|
|
Segmentum
Если речь идёт о диалоге изменения атрибутов (о плагинах в котором котором вам уже было сказано). то что как называется, несложно выяснить хотя бы из русской справки TC. Маловразумительный заголовок "Конвертация типов данных значений атрибутов", усугубляемый нанизыванием четырёх родительных падежей, явно имеет к ней слабое отношение. Желание "заполнить теги "Ширина" и "Высота" wdx-плагина "jpg-comment" на основе имени файла" лично мне элементарно непонятно. Скажем, про считывание значений одного плагина в поля другого плагина в справке сказано (и пример приведён), но что общего между именем и шириной/высотой? Таким образом, прежде обсуждения проблемы надо понять суть самой проблемы. Пока с этим сложно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Segmentum
Joined: 13 Oct 2020 Posts: 21
|
(Separately) Posted: Sat Nov 07, 2020 00:01 Post subject: |
|
|
Avada wrote: | то что как называется, несложно выяснить хотя бы из русской справки TC. |
Но там ведь не сказано про различия полей данных, про невозможность заполнить числовое поле цифрами из поля-строки.
Avada wrote: | но что общего между именем и шириной/высотой? |
Имя файла может содержать в себе цифры. Эти цифры можно извлечь с помощью диапазона, и использовать, как значение для ширины/высоты.
Avada wrote: | Желание "заполнить теги "Ширина" и "Высота" wdx-плагина "jpg-comment" на основе имени файла" лично мне элементарно непонятно |
У меня есть несколько тысяч изображений, рабочих, то есть имеющих конкретное разрешение. Но, при этом, jpg comment видит в них полностью пустые поля ширины и высоты. Зато другая программа может читать эти данные, и у меня получилось вывести информацию об их разрешении в имена файлов. Дальше я бы мог работать через выделение по регулярным выражениям и изменение атрибутов, но диалог изменения атрибутов не даёт мне использовать имена файлов, как источник для ширины и высоты. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sat Nov 07, 2020 05:18 Post subject: |
|
|
Segmentum wrote: | про невозможность заполнить числовое поле цифрами из поля-строки. |
Из каких плагинов пробовали получить информацию? Первым приходит в голову ImgSize, по идее ещё TCMediaInfo должен, только детект-строку подпилить, - оба возвращают строку?
Segmentum wrote: | Имя файла может содержать в себе цифры. Эти цифры можно извлечь с помощью диапазона, и использовать, как значение для ширины/высоты. |
С помощью PCREsearch можно вытаскивать часть имени файла, но что на выходе или можно ли явно указать тип данных не подскажу, надо смотреть.
Segmentum wrote: | ...другая программа может читать эти данные, и у меня получилось вывести информацию об их разрешении в имена файлов. Дальше я бы мог... |
Если память не изменяет, ExifTool может записать. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sat Nov 07, 2020 08:51 Post subject: |
|
|
Segmentum
Пояснения приняты. Со своей стороны ограничиваюсь пока тем, что меняю заголовок на более пристойный и при этом конкретный. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Segmentum
Joined: 13 Oct 2020 Posts: 21
|
(Separately) Posted: Sat Nov 07, 2020 19:59 Post subject: |
|
|
Работает. Спасибо
Ещё один вопрос: Знаете ли вы способ суммировать числа нескольких числовых полей метаданных, и выводить результат, как значение в столбце пользовательского режима просмотра? А так же проводить прочие математические операции, хотя бы самые простые (суммирование, вычитание, умножение, деление). |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sat Nov 07, 2020 21:39 Post subject: |
|
|
Segmentum
Математика - это несложно, что угодно, в принципе, можно, только необходимо получить данные, а это посложнее.
Если super_wdx такого не умеет, то придётся делать самостоятельно:
1) WinScript Advanced со знакомым вам языком и утилитой от Loopback, способной вызывать wdx-плагины напрямую и писать результат в консоль - нужно прочитать и использовать (ссылка тут);
2) WinScript Advanced + только AutoIt: упомянутая выше утилита написана на AutoIt, но давно и не будет дружить с юникодом, поэтому можно попробовать использовать UDF, использовавшуюся для её написания, только позже доработанную. См. пост на Ru-Board, там пример с плагином xPDFSearch, собственно UDF - это глобальные константы (Global Const) в начале скрипта и три функции
_PHWDXPluginOpen()
_PHWDXPluginClose()
__PHWDXGetFieldValue()
после строки ";PluginHelpers.au3 (Loopback)".
3) Может сработать вариант посложнее: WinScript Advanced + winapiexec.
P.S. Не уверен, давно дело было, но вроде выкладывалась и утилита с поддержкой юникода. |
|
Back to top |
|
|
Segmentum
Joined: 13 Oct 2020 Posts: 21
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Fri Dec 18, 2020 19:09 Post subject: |
|
|
Segmentum
Если не знакомы с AutoIt, то попробуйте VBScript и утилиту uwdx.exe от Loopback (свежая версия тут, в архиве есть и актуальная версия PluginHelpers.au3), VBScript не требует чего-то дополнительного и работает на любой Windows, примеры запуска консольных утилит и чтения вывода находятся несложно. Имейте в виду, нумерация полей плагинов и units начинается с нуля (посчитать можно, например, в окне создания набора колонок).
Конкретные вопросы лучше, наверное, в теме WinScript Advanced задавать. |
|
Back to top |
|
|
Segmentum
Joined: 13 Oct 2020 Posts: 21
|
(Separately) Posted: Wed Dec 30, 2020 20:50 Post subject: |
|
|
Skif_off
Все эти утилиты обращаются к wdx плагинам. Но встроенные в Total Commander данные (комментарий, случайное число, имя, расширение, и прочие) не принадлежат ни к одному из wdx-файлов (в папке с wdx плагинами нет такого файла). Без использования комментария с правкой отображаемого значения все эти скрипты бесполезны для меня. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Dec 31, 2020 02:31 Post subject: |
|
|
Segmentum wrote: | Но встроенные в Total Commander данные (комментарий, случайное число, имя, расширение, и прочие) не принадлежат ни к одному из wdx-файлов. |
Начали-то вы с wdx-плагинов...
Всё перечисленное - не проблема на любом языке из числа поддерживаемых WinScript Advanced и, к слову, любой wdx-плагин получает лишь полное имя файла и индекс поля, всё остальное он делает самостоятельно.
- комментарий: получить из имени файла его каталог, найти в нём descript.ion, если есть - прочитать и искать нужное;
- случайное число: в любом языке программирования есть математические функции, получить случайное число из заданного диапазона не проблема;
- имя: всё после последнего разделителя каталогов (слэша) в полном имени файла (или готовые функции, делающие то же самое);
- расширение: всё после последней точки в имени файла (или готовые функции, делающие то же самое);
и прочее в том же духе (причём так же, как делает и сам ТС).
Ну да ладно, не уговаривкть же, рабочие варианты были озвучены (не считая очевидного - собственный, с самоваром и пряниками, плагин на компилируемых языках). |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|