Страница 2 из 3
Добавлено: Сб окт 03, 2009 10:42
Samwatas
Volniy писал(а):Tol!k писал(а):WDX в батниках — это очень интересно
А вот
эту штуку разве не замечали раньше? К тому же с исходниками.
Честно сказать, не замечал (обрыл весь интернет, нашел утиль для работы с WCX из ком. строки, а под носом лежащее на wincmd.ru не увидел). В любом случае, как сказали уже выше, я изначально задумал выводить только значение запрошенного поля, причём вывод в консоль происходит только если соответствующее значение из колонки получено (во всех остальных случаях не выводится ничего, чтобы ошибочно не принять сообщение об ошибке за значение колонки - теперь же достаточно проанализировать ответ от утилиты - если пустая строка, значит что-то не получилось (либо указали путь не к тому плугу, либо указали путь не к тому файлу, либо неправильно ввели имя колонки, либо просто банально значение в соответствующем поле пустое, как это бывает с некоторыми тегами) во всех остальных случаях какойто вывод означает результат, так что его можно брать и подставлять куда надо. Я сперва думал всё-таки выводить немного по другому: если всё гут, то вывести
а если ошибка, то вывести
но в этом случае пришлось бы парсить строку вывода, чтобы понять всё гут или нет, сейчас же достаточно банального сравнения ответа с пустой строкой. С другой стороны, при таком выводе вам было бы понятно, в чём ошибка, и исправить ее было бы легче.
А исходники я гляну, может перепишу свою утиль с АвтоИТа на какой нить Дельфи или С++ (будет более компактная). Кроме того, как я уже писал выше, пока что моя утиль работает только с типом ft_string (плагописатели меня поймут) во всех других случаях пока что не работает как надо (впрочем с тегами она уже сейчас работает на отлично, см. пример выше).
Добавлено:
Глянул я исходники одним глазком - как я и предполагал, его утиль тоже не будет работать со всеми плагами (впрочем, как и моя): он вызывает
ContentGetValue, хотя я уже видел плаг, который не экспортирует такую функу, вместо этого он экспортирует
ContentGetValueW (то есть юникодную). А в общем, мне утиль понравилась, её можно доработать добавив ещё один ключ командной строки - имя колонки, и чтобы он вывел только соответствующее значение, тогда это была бы законченная утилита со всем необходимым функционалом.
Добавлено: Сб окт 03, 2009 10:45
Samwatas
Языкам (программирования) не обучен :(
Почему же - раз батники пишете, значит уже один язык знаете :)
Добавлено: Сб окт 03, 2009 13:00
Volniy
Samwatas писал(а):...утиль тоже не будет работать со всеми плагами (впрочем, как и моя): он вызывает ContentGetValue, хотя я уже видел плаг, который не экспортирует такую функу, вместо этого он экспортирует ContentGetValueW (то есть юникодную).
Так это как раз вполне логично:
Обновлен: 6.09.2007
Вряд ли тогда уже кто-либо работал с Юникодом в плагинах к ТС.
Добавлено: Сб окт 03, 2009 13:22
Samwatas
Ну что ж, это дополнительный повод доработать утилитку.
Я тут подумал, а ведь некоторые плаги могут не только читать, но и писать в соответствующие поля (экспортируя функу ContentSetValue), то есть можно из ком. строки не только читать но и заполнять нужные поля (написав батник или скрипт, который например парсит текстовый файл и заполняет теги у файлов). Как вы думаете, будет ли востребована такая возможность или нет? Стоит ли вообще этим заниматься, делая утилиту более мощной, добавляя дополнительные возможности?
Добавлено: Сб окт 03, 2009 15:01
Rodny
Как вы думаете, будет ли востребована такая возможность или нет?
Будет, однозначно. Жаль только, что пока плагины с возможностью записи можно пересчитать по пальцам одной руки.
Добавлено: Сб окт 03, 2009 17:46
DrShark
Samwatas писал(а):А исходники я гляну, может перепишу свою утиль с АвтоИТа
А можешь выложить исходники на AutoIt?
Здесь, кстати, хорошая подборка реализаций использования интерфейса плагинов Тотала сторонним софтом. Так что реализация на ещё одном ЯП будет там весьма кстати.
Добавлено: Сб окт 03, 2009 18:26
Samwatas
DrShark
Там в принципе ничего особенного нет (не на что смотреть даже), мне даже стыдно это показывать, но если так хочешь, то сейчас в личку скину файл.
Добавлено: Сб окт 03, 2009 18:34
DrShark
Samwatas
Кидай.
Добавлено: Сб окт 03, 2009 20:14
Batya
Samwatas писал(а):Я сперва думал всё-таки выводить немного по другому
Можно ввести ключ для возможности вывода в таком виде при поиске ошибки.
Добавлено: Сб окт 03, 2009 20:56
Samwatas
Я сейчас обдумываю концепцию новой утилиты, которая будет и читать и писать и выводить отладочную информацию и т.д.. В общем есть у меня парочка интересных идей, осталось их реализовать в коде.
Добавлено: Пн окт 05, 2009 16:38
Lev
Батники/скрипты перемещения файлов с поддержкой контентных плагинов также можно писать с помощью wdxInfoPacker.
Добавлено: Вт окт 06, 2009 14:14
Tol!k
Обновлённый батник:
- можно перемещать файлы на другую панель или в конкретную папку;
- обрабатываются файлы с "!" в тегах;
Код: Выделить всё
@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
Добавлено: Вт окт 06, 2009 14:26
Batya
Lev писал(а):Батники/скрипты перемещения файлов с поддержкой контентных плагинов также можно писать с помощью wdxInfoPacker.
Это как? Через буфер с помощью CopyInfo2Clip.exe?
Добавлено: Вт окт 06, 2009 17:09
Lev
Это как?
wdxInfoPacker может сгенерировать любой текстовый файл с использованием имён файлов и информации из контентных плагинов. Расширение файла может задаваться. Т.е. мы можем сгенерировать батник с кучей строк типа
move "путь\имя файла" "папка с именем из тегов файла"
или скрипт с подобным содержимым. А потом запустить его вручную. Мне это было без надобности, но если надо могу попробовать накидать пример.
Добавлено: Вт окт 06, 2009 17:18
Batya
Lev писал(а):wdxInfoPacker может сгенерировать любой текстовый файл с использованием имён файлов и информации из контентных плагинов.
Ааа... Ты об этом. Для меня-то вопросом является, как
из скрипта заставить работать wdxInfoPacker.