View previous topic :: View next topic |
Author |
Message |
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sat Sep 12, 2009 21:08 Post subject: Сортировка mp3 по каталогам с учётом id3 тегов |
|
|
Есть ли какая-нибудь утилита, типа xxcopy, которая могла бы выдирать из файла теги в переменные типа %Artist% и т.д. Представьте себе папку unsorted_music , в которой навалено дофига mp3 файлов (у которых все теги прописаны как положено) тогда сортировка их по папкам выполнялась одной строчкой батника, что-то типа такого:
for c:\unsorted_music %%a in (*.mp3) do supermove %%a c:\sorted_music\%Artist%\%Year%-%Album%\%%a
то есть для каждого файла утилитой supermove вычислялась бы папка \%Artist%\%Year%-%Album%\ в которую он и ложился бы.
Странно, что до сих пор такой вопрос не поднимался (неужели все сортируют свои файлы вручную?). А ещё лучше написать архиваторный плагин (я думаю это был бы самый убойный плагин и Гислер дал бы за такой плаг не меньше 2 лицензий ) который бы работал с контентными плагами ( как superWDX). Тогда можно было бы вытворять в тотале фантастические вещи, например сортировка кучи файлов в каталоги по дате создания строчкой типа \[=tc.creationdate]\%N
где [=tc.creationdate] плагин заменял бы на соответствующее значение из колонки. Или вышеозначенная задача решалась бы строчкой типа \[=anytag.Artist]\[=anytag.Year]-[=anytag.Album]\%N
А если сюда прикрутить регэкспы, то все остальные файл-менеджеры просто тихо курили бы в сторонке, завидуя Тоталу.
Неужели до такого пока никто не додумался, или я просто не знаю об уже существующем плаге?
Иначе мне придется писать скрипт на AutoIt (там возможно такое сделать). |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
|
Back to top |
|
|
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Sun Sep 13, 2009 07:54 Post subject: |
|
|
Спасибо, конечно, но я уже воспользовался программой TagRename (Сперва я думал запрячь для этого дела утилиту XXCOPY (у нее ведь много опций копирования), однако она тоже к сожалению не понимает теги и в справке о таких возможностях не упоминается).
Тем не менее, судя по тому, что подобные вопросы возникают, я думаю что подобный плаг был бы востребованным. У него быпи бы очень большие возможности, бОльшая степень автоматизации (чем у скриптов) ну и работа с бОльшим количеством файлов (в то время, как утилиты типа TagRename работают только с музыкой). Приведу ещё пару примеров использования такого виртуального плага (со скриптовым языком и регэкспами): допустим у нас есть каталог, в котором свалено дофига фильмов (как пример) и мы хотим выделить широкоэкранные фильмы в отдельную папку - пишем что-то подобное такой строчке:
If (1.5 < %Ratio% < 1.9) in %N Then copy to с:\Широкоэкранные фильмы\%N (это как возможный пример синтаксиса скриптового языка)
Если ратио нельзя извлечь, а только ширину и высоту кадра, то соответственно заменяем %Ratio% на (%Wide%)/(%High%) ну или типа того. Или другой пример с этой же папкой фильмов - мы хотим например выделить в отдельную папку фильмы с низким разрешением (чтобы удалить низкокачественный мусор) - пишем строчку:
If (%High% < 300) in %N Then copy to с:\Shit Movies\%N
Так можно рассортировывать изображения, музыку, фильмы и т.д.
То есть по сути это мог бы быть плаг, объединяющий возможности Тоталовских окон поиска (Alt+F7) и переименования (Ctrl+M) c примесью скриптового языка, доступа к контентным плагам (как в вышеупомянутых окнах) и возможностью ПЕРЕМЕЩЕНИЯ файлов по заданным правилам (раскидывание и сортировка по каталогам).
Кстати, уважаемые скриптописатели (cmd и vbs) - а ваши скрипты могут получать данные из контентных плагов? Ну в командной строке понятно, что нет, а вот как насчёт vbs? Если нет, то поле деятельности скриптов сильно сужается, а если да, то это дает большие возможности. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Sep 14, 2009 09:40 Post subject: |
|
|
Samwatas wrote: | То есть по сути это мог бы быть плаг, объединяющий возможности Тоталовских окон поиска (Alt+F7) и переименования (Ctrl+M) |
А что мешает выполнять требуемое именно в два приведённых шага (сначала поиск, а потом перемещение\переименование)?
Неужели сортировка выполняется настолько часто, что необходимо это делать именно в один этап? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Mon Sep 14, 2009 19:27 Post subject: |
|
|
Так ведь проблема как раз в том, что диалог переименования называется именно "переименование" а не "переименование и перемещение". Не умеет он к сожалению создавать папки . :(
Поэтому сделать это не удастся ни в 2 ни в 3 ни даже в 4 шага :cry: .
Что касается частоты сортировки - раньше проблема так остро не стояла, но сейчас брат качает музыку большими объемами (естественно качалка ложит всё аккуратно в одну папочку) а потом вручную сортировать несколько сотен файлов как-то не очень хочется.
Поэтому я подумал, может создать плаг, который бы решал похожие задачи (вполне возможно что добрая половина вопросов, возникающих в этом форуме и решаемая скриптами (и то не всегда - например мой случай) решалась бы именно одним плагом, а если быть точнее, то одной-двумя строчками в окне плага). Мне кажется, это могло бы для начала выглядеть так:
Плаг работает как посредник между Тоталом (а точнее его контентными плагами) и командной строкой.
Например, выделили файлы и вызвали окно плага, в котором написали copy %N с:\[=anytag.Artist]\[=anytag.Year]-[=anytag.Album]\%N
Плаг парсит эту строку и выделяет все обращения к контентным плагам. Потом начинает перебирать выделенные файлы и ДЛЯ КАЖДОГО файла выполняет указанную строчку в виндовой консоли (CMD) предварительно подставляя вместо [=anytag.Artist] соответствующие значения (тут можно предусмотреть ситуацию, когда контентный плаг вернул пустую строку - в таких случаях её можно заменять строкой взятой из файла настроек нашего суперплага, например "Empty"). Если сюда прикрутить регэкспы (правда я не представляю, как это должно выглядеть в конкретной реализации), то возможности могут ещё расшириться.
http://forum.wincmd.ru/viewtopic.php?t=12376
http://forum.wincmd.ru/viewtopic.php?t=12327
http://forum.wincmd.ru/viewtopic.php?t=11819
http://forum.wincmd.ru/viewtopic.php?t=12419
http://forum.wincmd.ru/viewtopic.php?t=9481
http://forum.wincmd.ru/viewtopic.php?t=11793
а особенно http://forum.wincmd.ru/viewtopic.php?t=11995 (Batya, узнаете?)
и т.д. Это не полный список задач, которые вероятно смог бы решить данный плаг (есс-но в большинстве случаев в расширенном варианте с регэкспами и т.д.).
А вы как думаете? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Sep 15, 2009 11:12 Post subject: |
|
|
Samwatas wrote: | Например, выделили файлы и вызвали окно плага, в котором написали copy %N с:\[=anytag.Artist]\[=anytag.Year]-[=anytag.Album]\%N |
Я что-то похожее раньше пытался предлагать через введение специальных параметров для кнопок\команд TC - Предложение - новая концепция специальных параметров.
Только там я делал упор на формирование новых файлов с определённым содержимым по шаблону, а не формирование нового имени\пути, как у тебя. Но если бы та концепция была реализована, то её можно было бы применить и для твоего случая
Но что-то никто не вдохновился _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
JayK
Joined: 04 Mar 2008 Posts: 39
|
(Separately) Posted: Fri Sep 18, 2009 17:46 Post subject: |
|
|
J River Media center отлично справляется с этой задачей... причем не только музыку но и документы и картинки... |
|
Back to top |
|
|
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Fri Sep 18, 2009 19:23 Post subject: |
|
|
Речь идет не о сторонних платных утилитах (с изначально ограниченными возможностями) а о плагине для Тотала, который позволял бы выполнять различные задачи, связанные с автоматизацией (путём скриптового языка с интеграцией в сам тотал, а точнее с доступом к его внутренним переменным и другим плагам, в первую очередь контентным). Это позволило бы решать если не все, то большинство возникающих здесь задач при помощи пары строчек в командной строке этого плага.
В том числе он мог бы использоваться для формирования Quote: | новых файлов с определённым содержимым по шаблону |
как частный случай применения (но реально его возможности были бы шире - вплоть до поиска дубликатов и удаления по определённым условиям (например по дате - удалить старее, или по длине имени файла - удалить более длинный, тут могут быть разные возможности, которых нет в стандартном поиске дубликатов). |
|
Back to top |
|
|
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Fri Oct 02, 2009 19:21 Post subject: |
|
|
В общем, не выдержал и наваял консольную утилитку для получения информации из wdx плагинов. Формат вызова такой:
Code: | c:\wdx.exe "c:\totalcmd\plugins\wdHash\wdHash.wdx" "c:\example.txt" CRC32 |
Первым параметром указываем путь к нужному плагину, вторым параметром файл, свойства которого мы хотим получить, и третим параметром имя колонки, значение которой нас интересует. Возвращается значение колонки, если оно есть, во всех остальных случаях ничего не возвращается (если поле пустое, плаг не поддерживает данный файл, передан путь к несуществующему плагу или файлу, или передано название несуществующей колонки и т.д.).
Немножко погонял на парочке плагов, вроде работает (кстати, заодно обнаружил глюк в плаге wdHash - неправильно рассчитывается CRC32, остальные типа SHA1 считаются верно). Из наших глубокоуважаемых скриптописателей никому не интересно потестить? Я думаю, применение ей можно найти как просто в батниках, так и в VB-скриптах. Заодно и потестить можно поглубже.
Это кстати было мне навеяно утилей KaKeeware cmdTotal (которая работает с WCX - плагами из командной строки), вот я и подумал: "А я чем хуже?". Взял СДК по контентным плагам с сайта Гислера и в AutoIt3 набросал утиль за два дня.
Скажите только, это кому-нибудь интересно, стоит выкладывать? |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Fri Oct 02, 2009 19:55 Post subject: |
|
|
Имхо, лучше в отдельной теме.
Для скриптов было бы интересно оформление в виде ActiveX, чтобы не возиться с WshShell.Exec, StdOut... |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Oct 02, 2009 20:34 Post subject: |
|
|
Samwatas
WDX в батниках — это очень интересно, выкладывать обязательно |
|
Back to top |
|
|
Samwatas
Joined: 12 Sep 2009 Posts: 95
|
(Separately) Posted: Fri Oct 02, 2009 20:55 Post subject: |
|
|
Выложить я могу, но я тут посмотрел работу с другими плагами (кроме тестировавшегося wdHash) и пока не всё так радостно (то есть как я понял утиль пока работает с плагами, которые выдают строковые переменные) с остальными, которые выдают другие типы (например числовые) пока выдает мусор (проверял на media.WDX), то есть тут нужно дорабатывать, чем я и планирую заняться. Если интересно посмотреть на мою первую сырую версию, то пожалуйста: http://upload.com.ua/get/901076644/
Запуск без параметров (или с количеством параметров отличным от трёх) покажет кратенькую справку (там я использовал английский язык, ну так, на дальнюю перспективу :D , так что не пугайтесь, там в принципе всё и так понятно).
Пока имеет смысл тестировать на плагах с текстовым выводом. Да, и еще - название колонок нужно вводить так: смотрите в тотале, например, [=anytag.Album] - вводить третьим параметром нужно Album.
В общем, думаю, разберетесь. Пишите о впечатлениях :) . |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Oct 03, 2009 01:11 Post subject: |
|
|
Tol!k wrote: | WDX в батниках — это очень интересно |
А вот эту штуку разве не замечали раньше? К тому же с исходниками. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Oct 03, 2009 07:11 Post subject: |
|
|
Volniy
Опа. Я думал штука с GUI как WDX Guide. Но wdx.exe уже лучше, т.к. выводит только нужное, а вывод wdxtest.exe Code: | 2: Album: 'Celldweller (FiXT Remix Compilation v1.0)'
3: Artist: 'Celldweller' | ещё обработать нужно.
Quote: | К тому же с исходниками. | Языкам (программирования) не обучен |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Oct 03, 2009 09:16 Post subject: |
|
|
Обновлённый батник
Last edited by Tol!k on Tue Oct 06, 2009 14:15; edited 1 time in total |
|
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
|