|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Два файла - как одна переменная, переменная - как параметр |
|
CMD/BAT - [решено] Два файла - как одна переменная, переменная - как параметр
|
Новый участник Сообщения: 27 |
Не знаю даже как объяснить...
1)Возможно ли передать значение переменной - как параметр для другого приложения? При том что этот параметр не задуман как переменная... 2)Возможно ли два файла с одинаковым именем, но с разным расширением, задать как одну переменную? При этом самих пар этих файлов может быть несколько. то-есть видимо потребуется ещё и цикл назначения переменных. 3)Создать цикл внутри другого цикла? Постараюсь объяснить. Есть программа CinemaCraft Encoder Она перекодирует видео из AVI в два отдельных(аудио и видео) mpeg файла С этим проблем нет. Есть консольная программа mplex.exe Она склеивает видео mpeg файл и аудио mpeg файл в один, совместимый с DVD-video, аудио-видео mpeg файл. Для запуска этой проги набирается команда: (где: -F 8 параметр указывающий на то, что выходной файл, должен быть совместим с DVD-video -O 001.mpg имя выходного файла 001.m2v 001.mpa имена фалов источников) Задача: К примеру я перекодирую определённое кол-во AVI файлов, с помощью CinemaCraft в одну папку: Получаю в этой папке: Иванова.m2v Иванова.mpa Петрова.m2v Петрова.mpa Для начала я попытался сделать вот такое: set parametr = Иванова.mpg Иванова.m2v Иванова.mpa set mplx = mplex.exe -f 8 -o %parametr% for %%f in (*.m2v) do %mplx %%f В результате получил такую команду: Понятное дело из этого ничего не выходит. Вот собственно и первый вопрос: Возможно ли передать значение переменной - как параметр для другого приложения? При том что этот параметр не задуман как переменная... С остальными вопросам, пока промолчу. Если найдётся ответ на этот, то остальные есть вверху сообщения. |
|
Отправлено: 20:23, 15-02-2010 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Попробовал задать переменную командой для ввода данных пользователем:
вместо Так сработало. То-есть видимо я допускаю ошибку именно в составлении выражения. Наверное путаюсь со знаками %%, Их расположение я просто передрал с другого выражения. Видимо не подходит... О! Одну ошибку определил Я ставил ненужные пробелы.... Соответственно выяснил, что переменную как параметр для другого приложения задать можно. Правильно писать так: |
Последний раз редактировалось taravasya, 15-02-2010 в 22:25. Отправлено: 22:08, 15-02-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Ну пожалуйста подскажите кто-нибудь....
Собственно я на 90% решил задачу. Уж простят меня модераторы, получается диалог сам с собой, но и он мне видимо помогает... Во общем делаю так: echo off set mx=mplex.exe -f 8 -o set demuxfld=f:\demuxed set demuxvfls=*.mpv set demuxafls=*.mpa for %%v in (%demuxfld%\%demuxvfls%) do %mx% %%~nv%%..mpg %%v% А от куда же взяться аудио если его нет в цикле? Как правильно запихнуть ещё один цикл - внутрь текущего? Либо как заполучить две переменных в одном цикле? Елси я делаю так: То получаю - непредвиденное появление do |
Отправлено: 03:18, 16-02-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 03:40, 16-02-2010 | #4 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Блин!!! Как всё просто! Спасибо.
Залогом являются одинаковые имена и аудио и видео файлов? Получается мы как бы обманываем интерпретатор? Он считая что берёт всё ту же %%i, подхватывает и аудио, благодаря тому, что %%i мы развернули только в имя файла, без расширения?!! Гениально! И главное проколов не будет, потому как, имя и у аудио и у видео всегда одинаковы(только если специально их переименовать) Вот спасибо.... Я пока не буду помечать тему решённой, потому как мне предстоит решить ещё один вопрос, напрямую касающийся этих. Но надеюсь что справлюсь. И тогда помечу решённой. Еще раз спасибо. PS В итоге выглядит так: |
|
Отправлено: 04:06, 16-02-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата taravasya:
|
|
Отправлено: 04:36, 16-02-2010 | #6 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата amel27:
|
|
Отправлено: 04:49, 16-02-2010 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Какая переменная быстрее? | Ferum01 | Программирование и базы данных | 7 | 08-10-2009 02:12 | |
Переменная Null в AutoIt | abb269 | AutoIt | 13 | 28-08-2009 10:49 | |
Глобальная переменная | 11943499 | AutoIt | 9 | 23-07-2009 20:58 | |
Переменная kern.maxproc | xliver | Общий по FreeBSD | 2 | 02-03-2007 22:38 | |
Php. Переменная массив или нет? Как узнать? | Вебмастеру | 3 | 26-03-2005 04:15 |
|