-
не могу понять - как должен выглядеть ключ реестра, отвечающий за фалы с определенным расширением. такая модификация реестра позволяет применять к .ape файлам комманду "Decode to .wav" Windows Registry Editor Version 5.00 "
[HKEY_LOCAL_MACHINE\Software\Classes\Ape.Decode]
[HKEY_LOCAL_MACHINE\Software\Classes\Ape.Decode\shell]
"" = "shell.Decode"
[HKEY_LOCAL_MACHINE\Software\Classes\Ape.Decode\shell\Decode]
"" = "Decode to .wav"
[HKEY_LOCAL_MACHINE\Software\Classes\Ape.Decode\shell\Decode\command]
"" = "\"F:\\scp\\decode ape\\decape.bat\" \"%1\""
[HKEY_CLASSES_ROOT\.ape]
"" = "Ape.Decode проблема в том - как сделать enqueue (как в различных плеерах), т.е. одному .bat-файлу передать в качестве аргумента строку, состоящую из несколькх имен файлов. как должно выглядеть значение в ключе command? как должен обрабатывать переданную ему строку аргументов .bat файл?
-
// кавычки уехали, но это мелочи ..
-
пояснюсь: если выделить несколько файлов и по правому клику вызвать для них "Decode to .wav" - то запустится экземпляр .bat для каждого, а нужно - передать весь список в один .bat
-
> axis_of_evil © (14.08.08 10:55) [2] > а нужно - передать весь список в один .bat
А что в том bat-е?
-
oldman © (14.08.08 10:57) [3] > А что в том bat-е?
> axis_of_evil © (14.08.08 10:51) > как должен обрабатывать переданную ему строку аргументов > .bat файл?
%> пока щто там @echo off
"F:\mu\pragma\ape decoder\MAC.exe" "%~1" "%~d1%~p1%~n1.wav" -d
pause отдельный вопрос - как будут переданы аргументы в .bat - все в %1 или каждый в %1,%2 .. ? // потому и спрашиваю - как делают enqueue?
-
я тебе в личку уже ответил ;)
-
> отдельный вопрос - как будут переданы аргументы в .bat - > все в %1 или каждый в %1,%2 ..
По моему, отдельно. Но откуда bat узнает количество параметров?
-
> oldman © (14.08.08 11:01) [6] > По моему, отдельно.Но > откуда bat узнает количество параметров?
да хоть отсюда %> ты мне только расскажи - как их все передать в один .bat %> if '%1'=='' goto :finish
md "%~d1%~p1mp3"
echo processing %1
start /min /wait C:\mu\pragma\EAC\LAME\LAME.exe -b 320 -m s "%~1" "%~d1%~p1mp3\%~n1.mp3"
:loop
if '%2'=='' goto :finish
echo processing %2
start /min /wait C:\mu\pragma\EAC\LAME\LAME.exe -b 320 -m s "%~2" "%~d2%~p2mp3\%~n2.mp3"
shift /1
goto :loop
:finish
-
> brother © (14.08.08 10:59) [5] > я тебе в личку уже ответил ;)
спасибо за идею :> должно быть решение пороще - исключительно .bat-методами
-
> axis_of_evil © (14.08.08 10:55) [2] > пояснюсь: > если выделить несколько файлов и по правому клику вызвать > для них "Decode to .wav" - то запустится экземпляр .bat > для каждого, а нужно - передать весь список в один .bat
Я думаю по правому клику - никак Если ты сделаешь это не для .wav, а для .doc, для каждого запустится свой экземпляр Word.
-
> oldman © (14.08.08 11:08) [9] > Я думаю по правому клику - никак
неужто - при enqueue сотни .mp3-фалов в winamp - для каждого запускается свой экземпляр winamp, который проверяет - запущен ли winamp уже и сообщает ему о файле, который нужно добавить в очередь .. нее, не верю. других вариантов пока в голову не пришло.
-
> для каждого запускается свой экземпляр winamp,
нет там в параметры winampу передается список этих файлов ;) как я понимаю, нужно узнать как называется параметр в bat файле, который отвечает как раз за использование доп параметров? зы надо копать по синтаксис bat и cmd файлов...
-
зы посмотрел в справке виндовс, по командам cmd... Использование операторов перенаправления команд но это все относится только к исполняемым файлам, а не к пакетным файлам(
-
brother © (14.08.08 11:33) [12] > Использование операторов перенаправления команд
это вроде file1.txt > myapp.exe >> result.dat не то
-
внешний параметр передается "%1%", возможно он фиксирован 1 параметром и не расчитан на групповую обработку файлов...
-
> brother © (14.08.08 11:46) [14] > внешний параметр передается "%1%", возможно он фиксирован > 1 параметром и не расчитан на групповую обработку файлов. > ..
честно говоря, не понял мысль %> // внешний параметр (если он состоит из имен нескольких файлов) может передаваться в %1, %2, .. - например, если файлы одновременно бросить на .bat файл
-
проверил: винамп реагирует не на весь список добавляемых файлов, а лишь на 1 файл... те добавление списка файлов происходит как бы запуская каждый файл по отдельности, а винамп уже обрабатывая этот (один!) параметр, добавляя его в плэйлист... отсюда, при запуске например 5 doc файлов они открываются в 5 разных окнах! это и логично, ведь команда запуска дана всем 5 но не группой а по очереди)
-
имхо, придется тебе всеж прогу писать, которая генерирует bat с нужным списком файлов ;)
-
> axis_of_evil (14.08.2008 11:49:15) [15]
Запуск по ассоциации оперирует только одним параметром %1
-
@echo off
REM decode.bat
REM Положить в C:\Documents and Settings\UserName\SendTo\
REM Вызывать через меню "Отрпавить"
for %%A in (%*) do "F:\mu\pragma\ape decoder\MAC.exe" %%A
|