Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.10.05;
Скачать: [xml.tar.bz2];

Вниз

.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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.006 c
15-1218696677
axis_of_evil
2008-08-14 10:51
2008.10.05
.bat, enqueue и реестр


15-1218407878
Dmitry S
2008-08-11 02:37
2008.10.05
Apache + CGI + POST


2-1219056641
kopernik21187
2008-08-18 14:50
2008.10.05
доступ к данным подчиненной таблицы


15-1219046504
Vlad Oshin
2008-08-18 12:01
2008.10.05
Отладка программы. Ничего не понимаю..


1-1199266277
Виктор007
2008-01-02 12:31
2008.10.05
Загрузка flash из памяти а не с диска





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский