Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > передача параметров в батник


Автор: Aizek 3.6.2009, 13:38
Кто может подсказать как из php передать параметры бат файлу? Чтобы внутри самого батника к ним можно было обратиться. Или запуск программы с параметрами через exec. Никак не могу разобраться.

Автор: The_Aleksey 3.6.2009, 16:24
если сам бат-файл вида
Код

@echo off
set name=%1
echo hello %name%

то вызвать череp exec можно, как 
Код

<?
echo exec("filename.bat world");
?>

и на экран выйдет hello world

Автор: Aizek 4.6.2009, 13:27
Спасибо, а как разобраться с программой, которая требует постепенный запрос параметров? 
Сначала требуется ввести одни параметры, потом программа задает еще вопрос...

Автор: skyboy 4.6.2009, 13:31
Цитата(Aizek @  4.6.2009,  12:27 Найти цитируемый пост)
потом программа задает еще вопрос... 

в каком виде? через консоль?

Автор: Aizek 4.6.2009, 14:57
Да, через консоль.

Автор: euginewm 4.6.2009, 17:18
Логически мы имеем 2 различных процесса:
php -> bat.

Назревает попутный вопрос: насколько реально перехватить и обработать обратный поток bat->php (как в нашем случае с обработкой периодических ответов батника)

Автор: Aizek 4.6.2009, 17:29
Полагается, что ответ нам не нужен, просто надо послать в программу данные, по сути отправка первого блока параметров. Потом второго. Как это сделать, пока не представляю.

Автор: Akina 4.6.2009, 17:34
Программно записАть файл ответов и перенаправить стд. ввод батника из файла.
Предполагается, что речь не идёт об интерактивном вводе параметров...

Автор: youri 4.6.2009, 17:37
bat-файл уже есть?

приложение не может принимать параметры через командную строку постепенно

две программы могут общаться через каналы (pipes, http://ua2.php.net/manual/en/function.proc-open.php), только может ли при этом с одной стороны быть bat-файл (хватит ли ему возможностей)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)