Pull to refresh

Comments 37

Напишите кусок кода в этом месте, подумаем над ошибкой.
я уже начинаю об этом подумывать :)
Из документации ламы, без всяких изменений:

lame -f file.mp3 file_resample.mp3

(-f) — быстрое сжатие, низкое качество.
Побольше бы строчек написали немного, до ошибки. Или вообще весь скрипт. Собака могла порыться в другом месте. Если скрипт не секретный, конечно :)
дык, ошибка именно при наборе этой строчки или любому обращению к ламе:) порезка работает за счет другой программы — где все работает.
а может lame'а просто нет ))))
lame.exe скопирован в каталог с песнями? Если нет, то в переменной PATH прописан путь к папке с экзешником?
А, уже спрашивали, оказывается. Тогда действительно, ждем полный текст скрипта.
А у вас lame.exe находится в папке, которая прописана в переменной окружения %PATH%?
именно там и находится
Использование недокументированных функций до добра не доведет.
по поводу lame.exe поместите путь к ней в PATH либо скрипт запускайте их той же папки.
В windows есть множество способов написать скрипт. Почему бы не воспользоваться тем же PowerShell.
Кстати а зачем lfnfor, я думаю что в CMD поддерживаются длинные имена по дефолту.
choice пишется так вроде бы, а не choise.
Как альтернативу choice
forum.oszone.net/thread-97813.html
Иногда даже запуск скрипта из той-же папки не помогает :) лучше либо поместить в %PATH%, либо с абсолютным путем запускать)
Пишут что папка прописана в %PATH%. что то не верится даже. Ну ждем как автор опубликует полный текст скрипта
и даже это не помогает :)
После добавления пути в переменную PATH необходимо закрывать все консольные приложения (Far например и просто cmd окна), и открывать их заного — в текущем сеансе не появится эта переменная в рамках открытого до добавления консольного приложения.
Переменную добавил через свойства системы навсегда:)
Это понятно — просто после этого надо все консоли перезапустить.
Решение для linux'оидов:
ставим баш и пишем скрипты на нем
Решение для php юзеров:
пишем скрипт на пхп и запускаем через интерпретатор.
Вместо php подставляем любой любимый скриптовый язык, для которого есть интерпретатор.

А самое главное проблем будет явно меньше, ибо функции будут хотя бы документированы ^_^
p.s. надо юзать тот инструмент который лучше всего знаешь.
lame использует эти функции, не мой скрипт(:
Автор, ну выложите уж код скрипта :)
Как сказал бы Станиславский. НЕ ВЕРЮ. Накой lame.exe использовать функции dos'a.
а Вы откройте lame.bat (:

set LAME=lame.exe
set OPTS=--preset cd
set thecmd=%LAME% %OPTS%
lfnfor on

к сожаленью открыть lame.bat проблематично в виду отсутствия винды ^_^
и ведь в этом бате все понятно раз уж писать скрипт может просто переписать lame.bat точнее вызывать lame.exe с параметром --preset cd
@echo off
mode con codepage select=1251 > nul
set name=ftemp
set ind=0
:next
set /a ind+=1
set tmp=
for /f "delims=\ tokens=%ind%" %%a in ("%~dp0") do set tmp=%%a
if not "%tmp%"=="" goto next
set /a ind-=1
if exist %name% del %name%
for /f "delims=\ tokens=%ind%*" %%a in ('dir *.mp3 /b /s') do lame.bat -f %%b out\%%b
do lame.bat -f "%%b" «out\%%b»
вторые кавычки прямые — парсерлох.
Если в пути к mp3шкам есть пробелы, то должно помочь.
"lfnfor" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"lame.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.


А у кого-то вообще лама работает на XP SP3?
lfnfor — просто уберите, он в Windows XP всегда включен, судя по всему
D:\Breaks\new>lame.bat -f "Funklab - Get In To Ya.mp3" "out\Funklab - Get In To Ya.mp"
"lame.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

ERROR processing -f

D:\Breaks\new>path
PATH=D:\Breaks\new\



что-то я совсем духом пал:) Может подскажите чем можно еще пакетно файлы кодировать?
Полный код lame.bat опубликуйте
lame.bat != lame.exe, и всё же lame у вас не в PATH.

Если вы cmd запускаете и вводите lame.exe — та же самая ошибка выпадает?
значит добавьте в PATH lame.exe
Если lame.bat у вас такой, как по этой ссылке trac.sbooth.org/Max/browser/trunk/Frameworks/lame/lame/lame.bat?rev=1379

то он принимает в кач-ве параметров имена wav файлов, для перекодирования их в mp3.

Из вашего скрипта вы пытаетесь передать ему "-f %%b out\%%b" — что неверно, поскольку эти параметры должны быть переданы непосредственно lame.exe

«lfnfor on» — нужно просто убрать из скрипта, т.е. это наследие DOS и Win9X.

Вообщем lame здесь не причем, правьте скрипты свои.
Кажется вышло!!! Скачал lame не с офф сайта, где есть не только bat а и exe, как упомянули выше bat != exe.
добавил в path и все заработало!

Всем огромнейшее хаброчеловеческое спасибо!:)
Sign up to leave a comment.

Articles