Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Lame и вложенные папки.

Доброго времени суток всем участникам листа.
Вот такой вопросик: надо перекодировать с помощью кодека lame
несколько папок с mp3 файлами в более низкий битрейт. Я использую для
этого батник следующего содержания:
echo off
for /r %%i in (*.mp3) do (
c:\lame\lame.exe -S -h -a --abr 57 --priority 4 "%%i" "d:\test\%%i"
)
1. С параметром /r конвертация не происходит.
2. Что надо написать, чтобы lame обрабатывал подкаталоги?
3. Как сделать, чтобы в папке d:test создавались вложенные папки, а
затем в них сохранялись перекодированные файлы?
Для ясности приведу пример: Запускаю батник в папке e:\music в этой
папке находятся три каталога:
альбом 1
альбом 2
альбом 3
в каждом каталоге соответственно находятся файлы, которые подлежат
обработке. Надо чтобы в результирующей папке d:\test создались
каталоги с этими же названиями и в них сохранены перекодированные
копии файлов каждого из альбомов.
Знаю наверняка, что такая возможность должна быть, но найти не могу.
Спасибо всем, кто поможет.

Ответить   Иван Штефуряк Sat, 23 Sep 2006 22:50:39 +0300 (#593144)

 

Ответы:

Hello Иван Штефуряк, 23-Sep-2006 22:50 you wrote:

Воспользуйтесь каким-нибудь конвертером, поддерживающим lame. Например, я
люблю конвертировать файлы CDex'ом. Он позволяет обрабатывать файлы с
подкаталогами с воссозданием структуры папок для результирующих файлов.

Ответить   "Egor L. Ryabchikov" Sun, 24 Sep 2006 02:56:20 +0400 (MSD) (#593203)

 

Доброго времени суток, Егор.

Вы писали:

Про CDex я знаю, а хочется именно для lame, чтобы использовать в
батнике. Запустил батник на ночь, вся работа сделается и комп
выключится.

Ответить   Иван Штефуряк Sun, 24 Sep 2006 09:19:39 +0300 (#593235)

 

Hello Иван Штефуряк, 24-Sep-2006 09:19 you wrote:

:-)
Ну просто надо поискать конвертор, который может выключить комп по окончанию
работы. Razorlame, вроде, это умеет, но у него есть проблемы с воссозданием
структуры папок.

Ответить   "Egor L. Ryabchikov" Sun, 24 Sep 2006 22:28:14 +0400 (MSD) (#593580)

 

Здравствуйте, Иван,

Дело в том, что надо хорошо себе представлять, что будет находиться в
переменной %%i. При использовании параметра /r в %%i попадает весь
путь к файлу вместе с именем файла. Соответственно, имя выходного
файла будет некорректным, ибо будет содержать два раза имя диска.
Подавить это легко: можно использовать модификатор %%~ni%%~xi (что даёт
имя файла без пути) или %%~pi%%~ni%%~xi (имя файла вместе с путём к
нему, но без диска).

Однако тут возникает другая проблема. Если использовать только имя
файла, то все выходные файлы будут свалены в одну директорию. А если
использовать пути, то я сильно сомневаюсь, что лэйм
самостоятельно может создавать каталоги произвольной вложенности.
Наверное, я бы сначала в директории d:\test\ воссоздал бы полную
структуру директорий музыки с пустыми подкаталогами, и использовал бы
имена файлов с путями.

Структуру можно сделать тупо: скопировать всю музыку, и
удалить все файлы из подкаталогов. Можно воспользоваться командой
xcopy с пустыми подкаталогами и несуществующим расширением. А можно
написать бат-файл вроде такого

for /d /r %%d in (*.*) do (
g:
mkdir "\test%%~pd"
d:
cd \music\
)

Здесь предполагается, что музыка лежит в папке d:\music\ а в
результате в папке g:\test\ возникает папка music с пустыми
подкаталогами. Если исходная и целевая папки лежат на одном диске, то
файл можно сократить до одной команды
for /d /r %%d in (*.*) do mkdir "\test%%~pd"

А вообще-то, как совершенно справедливо учил нас Анатолий (i_chay),
наберите команду for /? >for.txt и проштудируйте тамошние пояснения,
там правда много всего полезного можно почерпнуть.

А для отладки можно использовать оператор echo, например так
for /r %%d in (*.*) do @echo %%d >>/music/0.txt
Тогда можно посмотреть, что собственно содержит переменная бат-файла
или её модификатор.

--
С наилучшими пожеланиями
Владимир Лукьянов, Москва

Ответить   Sun, 24 Sep 2006 13:27:48 +0400 (#593306)

 

Доброго времени суток, Владимир.

Вы писали:

Да, lame действительно не может создавать вложенные каталоги и нужна
структура папок. Ниже текст батника, в котором это всё работает. Может
быть, ещё кому-то пригодится.

rem Начало командного файла
echo off
rem Создание структуры каталогов в d:\test
for /r /d %%i in (*.*) do mkdir "d:\test\%%~pi%%~ni"
rem Обработка файлов кодеком lame
for /r %%i in (*.mp3) do (
c:\lame\lame.exe --silent -h -a --abr 57 --priority 4 "%%i" "d:\test\%%~pi%%~ni%%~xi"
)
rem Выключение компьютера после окончания обработки
shutdown -s
rem Конец командного файла

Этот батник надо вызывать в том каталоге, где находятся папки с
mp3 файлами. Если его вызвать из каталога, в котором находятся только
файлы, и нет подкаталогов - он не сработает.

Опытным пользователям, может быть и можно, а остальным без примеров
обойтись трудно. Там в основном теория без наглядных примеров.

А вот за это огромное спасибо. С этой командой сразу видишь то, что
сотворил и можешь скорректировать ошибки.

Ответить   Иван Штефуряк Sun, 24 Sep 2006 18:08:23 +0300 (#593507)

 

Здравствуйте, участники дискуссий.
Иван пишет:

Владимир очень справедливо заметил:

Иван опрометчиво спорит:

Для остальных (в терминологии Ивана), чтобы не строить многоэтажных конструкций
по копированию структуры папок, предлагаю
прочитать подсказку к команде xcopy:
xcopy /? > xcopy_help.txt

Откуда можно будет узнать, что данная операция реализуется одной командой:
xcopy . d:\test\ /T /E

Успехов. Анатолий.

Ответить   "i_chay" Mon, 25 Sep 2006 09:51:20 +0500 (#593677)

 

Доброго времени суток, i_chay.

Вы писали:

Эта команда хороша в том случае, если её использовать автономно, в
нашем же случае, если ею воспользоваться, то lame работать не будет,
поскольку ему передаётся для обработки полный путь к файлу, кроме
буквы диска. А xcopy копирует только структуру текущего каталога, а
родительские каталоги в эту структуру не включает. Я использовал
приведённый Вами пример, но вынужден был отказаться от его
использования из-за этого недостатка.

Ответить   Иван Штефуряк Mon, 25 Sep 2006 10:00:34 +0300 (#593774)

 

Здравствуйте, Иван.

xcopy . d:\test\%cd:~3%\ /T /E

Чтобы понять смысл читайте справку по команде set:
set /? > set_help.txt

Успехов. Анатолий.

Ответить   "i_chay" Mon, 25 Sep 2006 20:32:19 +0500 (#593938)

 

Здравствуйте, уважаемые!

Господа, подскажите, пожалуйста, а где нужно набирать эту команду
set /? > set_help.txt
и любую другую, чтобы почитать о ней справку?
Если я не ошибаюсь, по команде bat-файла справка будет занесена в текстовый
файл set_help.txt.

Заранее благодарен, Грызунов Александр, Самара

Ответить   "eastreb" Mon, 25 Sep 2006 21:45:17 +0500 (#593987)

 

доброе утро.
тут наткнулся на виртуальный флоппи дисковод.
Эмулятор флоппи-дисковода для Windows NT/2K/XP/2003.
кому нужно такое, то вот адрес:
http://chitchat.at.infoseek.co.jp/vmware/vfd21-050404.zip
размер 140 килобайт
программа бесплатная.
руссификатор можно найти на сайте руссификаторов:
http://msilab.net/
там в поле поиска по сайту введите:
Virtual Floppy Driver
и нажав кнопку "OK"- получите три руссификатора.
нам нужен:
Virtual Floppy Driver 2.1
С уважением Васильев Андрей.
Город Ухта.

Ответить   Tue, 26 Sep 2006 07:55:07 +0400 (#594186)

 

Всем привет!

Какое -то время тому назад в рассылке прошла инфа о серверах, на которых
успешно действует аудиальная регистрация на ряду с традиционной
графической. То есть, цифры можно вводить не только с картинки, но и
после прослушивания синтезированного речевого сообщения, содержащего
эти же цифры.
Напомните, пожалуйста, что это за сервера такие?
С уважением,

Ответить   Sergey Kartavtsev Mon, 25 Sep 2006 08:50:44 +0300 (#593709)

 

Здравствуйте, Sergey.

Вы писали 25 сентября 2006 г., 14:50:44:

http://www.hotmail.com
http://www.livejournal.com
http://gmail.com
http://groups.google.com

Ответить   Mon, 25 Sep 2006 22:01:34 +0900 (#594004)