View previous topic :: View next topic |
Author |
Message |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Oct 03, 2009 10:42 Post subject: |
|
|
Volniy wrote: | Tol!k wrote: | WDX в батниках — это очень интересно |
А вот эту штуку разве не замечали раньше? К тому же с исходниками. |
Честно сказать, не замечал (обрыл весь интернет, нашел утиль для работы с WCX из ком. строки, а под носом лежащее на wincmd.ru не увидел). В любом случае, как сказали уже выше, я изначально задумал выводить только значение запрошенного поля, причём вывод в консоль происходит только если соответствующее значение из колонки получено (во всех остальных случаях не выводится ничего, чтобы ошибочно не принять сообщение об ошибке за значение колонки - теперь же достаточно проанализировать ответ от утилиты - если пустая строка, значит что-то не получилось (либо указали путь не к тому плугу, либо указали путь не к тому файлу, либо неправильно ввели имя колонки, либо просто банально значение в соответствующем поле пустое, как это бывает с некоторыми тегами) во всех остальных случаях какойто вывод означает результат, так что его можно брать и подставлять куда надо. Я сперва думал всё-таки выводить немного по другому: если всё гут, то вывести Code: | done: тут_значение_колонки |
а если ошибка, то вывести Code: | error: какая_именно_ошибка |
но в этом случае пришлось бы парсить строку вывода, чтобы понять всё гут или нет, сейчас же достаточно банального сравнения ответа с пустой строкой. С другой стороны, при таком выводе вам было бы понятно, в чём ошибка, и исправить ее было бы легче.
А исходники я гляну, может перепишу свою утиль с АвтоИТа на какой нить Дельфи или С++ (будет более компактная). Кроме того, как я уже писал выше, пока что моя утиль работает только с типом ft_string (плагописатели меня поймут) во всех других случаях пока что не работает как надо (впрочем с тегами она уже сейчас работает на отлично, см. пример выше).
Добавлено:
Глянул я исходники одним глазком - как я и предполагал, его утиль тоже не будет работать со всеми плагами (впрочем, как и моя): он вызывает ContentGetValue, хотя я уже видел плаг, который не экспортирует такую функу, вместо этого он экспортирует ContentGetValueW (то есть юникодную). А в общем, мне утиль понравилась, её можно доработать добавив ещё один ключ командной строки - имя колонки, и чтобы он вывел только соответствующее значение, тогда это была бы законченная утилита со всем необходимым функционалом.
Last edited by Samwatas on Sat Oct 03, 2009 11:15; edited 3 times in total |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Oct 03, 2009 10:45 Post subject: |
|
|
Quote: | Языкам (программирования) не обучен :( |
Почему же - раз батники пишете, значит уже один язык знаете :) |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Oct 03, 2009 13:00 Post subject: |
|
|
Samwatas wrote: | ...утиль тоже не будет работать со всеми плагами (впрочем, как и моя): он вызывает ContentGetValue, хотя я уже видел плаг, который не экспортирует такую функу, вместо этого он экспортирует ContentGetValueW (то есть юникодную). |
Так это как раз вполне логично:
Quote: | Обновлен: 6.09.2007 |
Вряд ли тогда уже кто-либо работал с Юникодом в плагинах к ТС. |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Oct 03, 2009 13:22 Post subject: |
|
|
Ну что ж, это дополнительный повод доработать утилитку.
Я тут подумал, а ведь некоторые плаги могут не только читать, но и писать в соответствующие поля (экспортируя функу ContentSetValue), то есть можно из ком. строки не только читать но и заполнять нужные поля (написав батник или скрипт, который например парсит текстовый файл и заполняет теги у файлов). Как вы думаете, будет ли востребована такая возможность или нет? Стоит ли вообще этим заниматься, делая утилиту более мощной, добавляя дополнительные возможности? |
|
Back to top |
|
 |
Rodny

Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Sat Oct 03, 2009 15:01 Post subject: |
|
|
Quote: | Как вы думаете, будет ли востребована такая возможность или нет? | Будет, однозначно. Жаль только, что пока плагины с возможностью записи можно пересчитать по пальцам одной руки. |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sat Oct 03, 2009 17:46 Post subject: |
|
|
Samwatas wrote: | А исходники я гляну, может перепишу свою утиль с АвтоИТа | А можешь выложить исходники на AutoIt?
Здесь, кстати, хорошая подборка реализаций использования интерфейса плагинов Тотала сторонним софтом. Так что реализация на ещё одном ЯП будет там весьма кстати. |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Oct 03, 2009 18:26 Post subject: |
|
|
DrShark
Там в принципе ничего особенного нет (не на что смотреть даже), мне даже стыдно это показывать, но если так хочешь, то сейчас в личку скину файл. |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sat Oct 03, 2009 18:34 Post subject: |
|
|
Samwatas
Кидай. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Sat Oct 03, 2009 20:14 Post subject: |
|
|
Samwatas wrote: | Я сперва думал всё-таки выводить немного по другому |
Можно ввести ключ для возможности вывода в таком виде при поиске ошибки. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Oct 03, 2009 20:56 Post subject: |
|
|
Я сейчас обдумываю концепцию новой утилиты, которая будет и читать и писать и выводить отладочную информацию и т.д.. В общем есть у меня парочка интересных идей, осталось их реализовать в коде. |
|
Back to top |
|
 |
Lev

Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Mon Oct 05, 2009 16:38 Post subject: |
|
|
Батники/скрипты перемещения файлов с поддержкой контентных плагинов также можно писать с помощью wdxInfoPacker. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Oct 06, 2009 14:14 Post subject: |
|
|
Обновлённый батник:
- можно перемещать файлы на другую панель или в конкретную папку;
- обрабатываются файлы с "!" в тегах;
Code: | @echo off &chcp 1251 >nul
echo Перемещает выделенные муз.файлы в папки "Artist [Year] Album\"
rem Requirements: WDX columns extractor http://upload.com.ua/get/901076644/
rem Parameters: %L
rem or %L "%T"
rem or %L "D:\My Music\"
rem Autor: Tol!k
setlocal enableextensions
for /f "delims=" %%f in ('sort /r %1') do (echo %%f &call :f "%%f" %2)
exit
:f
for /f "delims=" %%A in ('wdx.exe %COMMANDER_PATH%\wdx\anytag\anytag.wdx "%~1" Artist') do set "Artist=%%~A"
for /f "delims=" %%B in ('wdx.exe %COMMANDER_PATH%\wdx\anytag\anytag.wdx "%~1" Year') do set "Year=%%~B"
for /f "delims=" %%C in ('wdx.exe %COMMANDER_PATH%\wdx\anytag\anytag.wdx "%~1" Album') do set "Album=%%~C"
set "Folder=%~2%Artist% [%Year%] %Album%"
if not exist "%Folder%" md "%Folder%"
if exist "%Folder%\" move "%~1" "%Folder%\"
goto :eof |
Last edited by Tol!k on Thu Oct 08, 2009 14:37; edited 1 time in total |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Tue Oct 06, 2009 14:26 Post subject: |
|
|
Lev wrote: | Батники/скрипты перемещения файлов с поддержкой контентных плагинов также можно писать с помощью wdxInfoPacker. |
Это как? Через буфер с помощью CopyInfo2Clip.exe? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Lev

Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Oct 06, 2009 17:09 Post subject: |
|
|
wdxInfoPacker может сгенерировать любой текстовый файл с использованием имён файлов и информации из контентных плагинов. Расширение файла может задаваться. Т.е. мы можем сгенерировать батник с кучей строк типа
move "путь\имя файла" "папка с именем из тегов файла"
или скрипт с подобным содержимым. А потом запустить его вручную. Мне это было без надобности, но если надо могу попробовать накидать пример. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2226 Location: Москва, Россия
|
(Separately) Posted: Tue Oct 06, 2009 17:18 Post subject: |
|
|
Lev wrote: | wdxInfoPacker может сгенерировать любой текстовый файл с использованием имён файлов и информации из контентных плагинов. |
Ааа... Ты об этом. Для меня-то вопросом является, как из скрипта заставить работать wdxInfoPacker. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
|