307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
1 | |
Запуск консоли из bat с передачей нескольких параметров в консоль05.09.2014, 22:53. Показов 24580. Ответов 22
Метки нет Все метки)
(
Собственно нужно запустить консоль из батника с параметром "/K" (т.е. после выполнения команд консоль должна остаться) и передать в консоль несколько команд
Сейчас делаю так Код
cmd.exe /k addon-sdk\bin\activate && cfx run --profiledir="C:\Users\myuser" команда addon-sdk\bin\activate выполняется как надо а вот cfx run --profiledir="C:\Users\myuser" - нет выглядит в консоли это дело так
0
|
|
05.09.2014, 22:53 | |
Ответы с готовыми решениями:
22
Запуск программы из bat-файла с передачей данных Запуск программы с передачей параметров Запуск процесса с передачей параметров Запуск пограмной строкой с передачей параметров |
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
||||||
05.09.2014, 23:06 | 2 | |||||
fireday, а так:
1
|
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
||||||
05.09.2014, 23:27 | 4 | |||||
fireday, а так:
1
|
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
05.09.2014, 23:56 [ТС] | 6 |
Сделал так
Код
@cmd /c addon-sdk\bin\activate && cmd /k cd my-addon && cmd /k cfx run --profiledir="C:\Users\fireday\AppData\Roaming\Mozilla\Firefox\Profiles\6dqq6vn4.default" так же пробовал без "cmd /k" перед "cfx" з.ы. почему ты (ничего что не на вы?) перед && убрал пробел? он передается с параметром?
0
|
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
||||||
06.09.2014, 00:45 | 8 | |||||
В данном случае, думаю, что нет, но такую возможность всегда надо учитывать, поэтому я это делаю автоматически.
Запрет вывода самих команд этой строки на консоль. Добавлено через 18 минут fireday, а если так:
0
|
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
06.09.2014, 20:06 [ТС] | 9 |
Результат:
нужно что бы все три команды были выполнены последовательно в одной консоли сейчас в первой консоли выполняется первая команда и консоль закрывается если ставлю /k вместо /c, то эффект от команды в консоли сохраняется, но вот остальные две команды не дают эффекта кажется я понял суть проблемы - амперсанд используется как в bat, так и в cmd
0
|
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
||||||
06.09.2014, 20:36 | 10 | |||||
fireday, по-моему, в твоём случае всё проще:
0
|
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
|
06.09.2014, 21:22 | 12 |
0
|
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
06.09.2014, 21:37 [ТС] | 13 |
это не ехе-шник
все эти команды для запуска среды разработки плагина под firefox первая команда - запускает SDK вторая команда открывает папку с плагином третья команда запускает плагин на выполнение
0
|
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
06.09.2014, 21:49 [ТС] | 14 |
первая команда запускает файл activate, (без расширения, внутри код, вроде бат)
после чего добавляется строка далее переход в папку и вызов cfx (который находится в "addon-sdk\bin") вот так выглядит консоль при вводе руками
0
|
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
||||||
07.09.2014, 07:21 | 15 | |||||
fireday, несколько парадоксальный подход:
0
|
1744 / 349 / 41
Регистрация: 15.10.2012
Сообщений: 547
|
|
12.09.2014, 19:12 | 18 |
Мало информации, что там происходит.
А почему нельзя выполнить эти самые команды последовательно прямо из батника? Скорее всего, activate возвращает не нулевой код и поэтому следующие команды не выполняются. Если нет необходимости анализировать код возврата, замени двойные && на одинарные &.
2
|
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
|
|
16.09.2014, 22:41 [ТС] | 19 |
Smitis, я сам не совсем понимаю что там происходит
Эти команды запускают sdk для разработки плагинов под firefox Консоль запускается в расположении папки с sdk, затем: Первая команда "sdk\bin\activate" - активация sdk (на скрине видны изменения в консоли после выполнения команды) Вторая команда - "cd MyFolder" переход в папку с плагином третья команда - запуск плагина через "sdk cfx run" Третья команда должна выполнятся в консоли, в которой выполнилась первая команда
0
|
![]() ![]() |
|||||||||||
16.09.2014, 23:57 | 20 | ||||||||||
Да не будет эта консоль выполнять команды, переданные последовательно через CMD.
(они исполняться уже после завершения работы консоли SDK) Нужно захватывать поток ввода и передавать в него команды сразу после старта SDK. Такое можно например на VBS сделать. Позже отпишу пример. Добавлено через 4 минуты Как вариант можно попробовать через канал (если эта консоль имеет данную поддержку):
1
|
16.09.2014, 23:57 | |
Помогаю со студенческими работами здесь
20
Запуск процедуры по имени с передачей ей параметров
Запуск консоли cmd с передачей в нее команды Запуск приложения на MapBasic из С++ Builder с передачей параметров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |