![]() |
Два файла - как одна переменная, переменная - как параметр
Не знаю даже как объяснить...
1)Возможно ли передать значение переменной - как параметр для другого приложения? При том что этот параметр не задуман как переменная... 2)Возможно ли два файла с одинаковым именем, но с разным расширением, задать как одну переменную? При этом самих пар этих файлов может быть несколько. то-есть видимо потребуется ещё и цикл назначения переменных. 3)Создать цикл внутри другого цикла? Постараюсь объяснить. Есть программа CinemaCraft Encoder Она перекодирует видео из AVI в два отдельных(аудио и видео) mpeg файла С этим проблем нет. Есть консольная программа mplex.exe Она склеивает видео mpeg файл и аудио mpeg файл в один, совместимый с DVD-video, аудио-видео mpeg файл. Для запуска этой проги набирается команда: Код:
mplex -F 8 -O 001.mpg 001.m2v 001.mpa -F 8 параметр указывающий на то, что выходной файл, должен быть совместим с DVD-video -O 001.mpg имя выходного файла 001.m2v 001.mpa имена фалов источников) Задача: К примеру я перекодирую определённое кол-во AVI файлов, с помощью CinemaCraft в одну папку: Получаю в этой папке: Иванова.m2v Иванова.mpa Петрова.m2v Петрова.mpa Для начала я попытался сделать вот такое: Код:
set parametr = Иванова.mpg Иванова.m2v Иванова.mpa В результате получил такую команду: Код:
mplex.exe -f 8 -o parametrf Вот собственно и первый вопрос: Возможно ли передать значение переменной - как параметр для другого приложения? При том что этот параметр не задуман как переменная... С остальными вопросам, пока промолчу. Если найдётся ответ на этот, то остальные есть вверху сообщения. |
Попробовал задать переменную командой для ввода данных пользователем:
Код:
set /P var=[input names] Код:
set parametr = Иванова.mpg Иванова.m2v Иванова.mpa О! Одну ошибку определил Я ставил ненужные пробелы.... Соответственно выяснил, что переменную как параметр для другого приложения задать можно. Правильно писать так: Код:
set parametr=Иванова.mpg Иванова.m2v Иванова.mpa |
Ну пожалуйста подскажите кто-нибудь....
Собственно я на 90% решил задачу. Уж простят меня модераторы, получается диалог сам с собой, но и он мне видимо помогает... Во общем делаю так: Код:
echo off А от куда же взяться аудио если его нет в цикле? Как правильно запихнуть ещё один цикл - внутрь текущего? Либо как заполучить две переменных в одном цикле? Елси я делаю так: Код:
echo off |
если из текущего каталога, то где-то так:
Код:
For %%i In (*.m2v) Do mplex.exe -f 8 -o %%~ni.mpg %%~ni.m2v %%~ni.mpa |
Блин!!! Как всё просто! Спасибо.
Залогом являются одинаковые имена и аудио и видео файлов? Получается мы как бы обманываем интерпретатор? Он считая что берёт всё ту же %%i, подхватывает и аудио, благодаря тому, что %%i мы развернули только в имя файла, без расширения?!! Гениально! И главное проколов не будет, потому как, имя и у аудио и у видео всегда одинаковы(только если специально их переименовать) Вот спасибо.... Я пока не буду помечать тему решённой, потому как мне предстоит решить ещё один вопрос, напрямую касающийся этих. Но надеюсь что справлюсь. И тогда помечу решённой. Еще раз спасибо. PS В итоге выглядит так: Код:
set mx=mplex.exe -f 8 -o |
Цитата:
Код:
FOR /? |
Цитата:
|
Время: 14:55. |
Время: 14:55.
© OSzone.net 2001-