Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.05;
Скачать: CL | DM;

Вниз

.bat, enqueue и реестр   Найти похожие ветки 

 
axis_of_evil ©   (2008-08-14 10:51) [0]

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

такая модификация реестра позволяет применять к .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 файл?


 
axis_of_evil ©   (2008-08-14 10:52) [1]

// кавычки уехали, но это мелочи ..


 
axis_of_evil ©   (2008-08-14 10:55) [2]

пояснюсь:
 если выделить несколько файлов и по правому клику вызвать для них "Decode to .wav" - то запустится экземпляр .bat для каждого, а нужно - передать весь список в один .bat


 
oldman ©   (2008-08-14 10:57) [3]


> axis_of_evil ©   (14.08.08 10:55) [2]
> а нужно - передать весь список в один .bat


А что в том bat-е?


 
axis_of_evil ©   (2008-08-14 10:59) [4]


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?


 
brother ©   (2008-08-14 10:59) [5]

я тебе в личку уже ответил ;)


 
oldman ©   (2008-08-14 11:01) [6]


> отдельный вопрос - как будут переданы аргументы в .bat -
>  все в %1 или каждый в %1,%2 ..


По моему, отдельно.
Но откуда bat узнает количество параметров?


 
axis_of_evil ©   (2008-08-14 11:02) [7]


> 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


 
axis_of_evil ©   (2008-08-14 11:03) [8]


> brother ©   (14.08.08 10:59) [5]
> я тебе в личку уже ответил ;)

спасибо за идею :>
должно быть решение пороще - исключительно .bat-методами


 
oldman ©   (2008-08-14 11:08) [9]


> axis_of_evil ©   (14.08.08 10:55) [2]
> пояснюсь:
>  если выделить несколько файлов и по правому клику вызвать
> для них "Decode to .wav" - то запустится экземпляр .bat
> для каждого, а нужно - передать весь список в один .bat


Я думаю по правому клику - никак
Если ты сделаешь это не для .wav, а для .doc, для каждого запустится свой экземпляр Word.


 
axis_of_evil ©   (2008-08-14 11:18) [10]


> oldman ©   (14.08.08 11:08) [9]
> Я думаю по правому клику - никак

неужто - при enqueue сотни .mp3-фалов в winamp - для каждого запускается свой экземпляр winamp, который проверяет - запущен ли winamp уже и сообщает ему о файле, который нужно добавить в очередь .. нее, не верю. других вариантов пока в голову не пришло.


 
brother ©   (2008-08-14 11:28) [11]


> для каждого запускается свой экземпляр winamp,

нет там в параметры winampу передается список этих файлов ;)
как я понимаю, нужно узнать как называется параметр в bat файле, который отвечает как раз за использование доп параметров?
зы надо копать по синтаксис bat и cmd файлов...


 
brother ©   (2008-08-14 11:33) [12]

зы посмотрел в справке виндовс, по командам cmd...
Использование операторов перенаправления команд
но это все относится только к исполняемым файлам, а не к пакетным файлам(


 
axis_of_evil ©   (2008-08-14 11:38) [13]


brother ©   (14.08.08 11:33) [12]
> Использование операторов перенаправления команд

это вроде file1.txt > myapp.exe >> result.dat
не то


 
brother ©   (2008-08-14 11:46) [14]

внешний параметр передается "%1%", возможно он фиксирован 1 параметром и не расчитан на групповую обработку файлов...


 
axis_of_evil ©   (2008-08-14 11:49) [15]


> brother ©   (14.08.08 11:46) [14]
> внешний параметр передается "%1%", возможно он фиксирован
> 1 параметром и не расчитан на групповую обработку файлов.
> ..

честно говоря, не понял мысль %>
// внешний параметр (если он состоит из имен нескольких файлов) может передаваться в %1, %2, .. - например, если файлы одновременно бросить на .bat файл


 
brother ©   (2008-08-14 11:53) [16]

проверил: винамп реагирует не на весь список добавляемых файлов, а лишь на 1 файл...
те добавление списка файлов происходит как бы запуская каждый файл по отдельности, а винамп уже обрабатывая этот (один!) параметр, добавляя его в плэйлист...
отсюда, при запуске например 5 doc файлов они открываются в 5 разных окнах! это и логично, ведь команда запуска дана всем 5 но не группой а по очереди)


 
brother ©   (2008-08-14 11:59) [17]

имхо, придется тебе всеж прогу писать, которая генерирует bat с нужным списком файлов ;)


 
Anatoly Podgoretsky ©   (2008-08-14 12:01) [18]

> axis_of_evil  (14.08.2008 11:49:15)  [15]

Запуск по ассоциации оперирует только одним параметром %1


 
easy ©   (2008-08-14 12:59) [19]

@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


 
ketmar ©   (2008-08-14 14:09) [20]

>[18] Anatoly Podgoretsky © (2008-08-14 12:01:00)
а вот тебе фиг. то ли «%*», то ли «*» — не помню. запихает всё, как миленькое. емнип.

---
Understanding is not required. Only obedience.


 
Anatoly Podgoretsky ©   (2008-08-14 15:29) [21]

Ну пусть автор проверит.


 
axis_of_evil ©   (2008-08-14 16:13) [22]


> easy ©   (14.08.08 12:59) [19]

спасибо, намного лучше - но я не понимаю, как это работает %>

ставим
[HKEY_LOCAL_MACHINE\Software\Classes\Lame.Encode\shell\Encode\command]
"" = "\"F:\\scp\\test.bat\" \"%1\",*%"


в результате выполнения

@echo off
for %%A in (%*) do echo %%A
pause


получаем два окна

"F:\scp\1.wav"
1.wav
2.wav
install sound handlers.reg
test.bat
Для продолжения нажмите любую клавишу . . .

"F:\scp\2.wav"
1.wav
2.wav
install sound handlers.reg
test.bat

Для продолжения нажмите любую клавишу . . .

чего здесь делает имя .reg-файла - вообсче не пойму ..
киньте в меня ссылкой про *% (%* - не работает)

у .bat-файлов прописано "%1" %*
у .cpl-файлов - rundll32.exe shell32.dll,Control_RunDLL "%1",%*
какую роль ишрает запятая? - оптыным путем пока туго понимается %>


 
han_malign ©   (2008-08-14 18:16) [23]


> rundll32.exe shell32.dll,Control_RunDLL "%1",%*
> какую роль ишрает запятая?

- здесь %1 - это запускаемый модуль, а дальше параметры. Запятая относится к синтаксису сомандной строки rundll32.exe.


 
axis_of_evil ©   (2008-08-14 20:12) [24]


ketmar ©
Anatoly Podgoretsky ©
han_malign ©

спасибо :>

но
 дорогой Зенон, я не догоняю
                     /Ахилесс/

вопросы из axis_of_evil ©   (14.08.08 16:13) [22] (за исключением последнего) остаются актуальными


 
easy ©   (2008-08-14 20:39) [25]


> axis_of_evil © (14.08.08 20:12) [24]

да оставь ты реестр. дольше проживет.
сделай, как в [19], только параметры добавь
for %%A in (%*) do "F:\mu\pragma\ape decoder\MAC.exe" %%A %%~nA.wav -d



Страницы: 1 вся ветка

Текущий архив: 2008.10.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.02 c
11-1194023893
Сидор
2007-11-02 20:18
2008.10.05
Проблема с KOLMainMenu


2-1219660385
Asker
2008-08-25 14:33
2008.10.05
Поиск в строке подстроки по маске


15-1218618226
oldman
2008-08-13 13:03
2008.10.05
Бипы при старте машины (неисправность устройств)


15-1218560762
blackman
2008-08-12 21:06
2008.10.05
Программистская басня от Эдсгера Дейкстры


2-1219413550
zoh
2008-08-22 17:59
2008.10.05
image&text