Запуск .bat файла через php

Тема в разделе "Как сделать...", создана пользователем kuzmit42, 6 дек 2015.

  1. kuzmit42

    kuzmit42 Постоялец

    Регистр.:
    9 янв 2013
    Сообщения:
    131
    Симпатии:
    31
    Есть локальный сервер windows + apache + php5.4
    Нужно реализовать следующую штуку. Открываем ссылку в браузере http://localhost/test.php после чего отрабатывает файл start.bat
    Задача bat файла открыть текстовый файл в блокноте.

    Содержимое start.bat
    PHP:
    start /d c:\PROGRA~1\EmEditor EmEditor.exe W:\ASA\scan/start/1.txt
    (bat файл рабочий - при запуске мышкой отрабатывает как надо, файл 1.txt открывается в нужной программе)

    Содержимое test.php
    PHP:
    exec ('W:\ASA\scan\start\start.bat'); // белый лист
    system ('W:\ASA\scan\start\start.bat'); // показывает содержимое файла start.bat
    passthru ('W:\ASA\scan\start\start.bat'); // показывает содержимое файла start.bat
    Так вот как сделать запуск bat файла ?
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    196
    PHP:
    $result = array();
    $file 'W:\ASA\scan\start\start.bat';
    $execs file('file');
    foreach (
    $execs as $exec)
    exec (trim($exec),$result);

    echo 
    implode('<br />',$result);
    А вообще под Виндой можно учитывать её особенности и запустить Notepad по-другому:
    PHP:
    $WshShell = new COM("WScript.Shell");
    $oExec $WshShell->Run("notepad.exe"7false); 
    Тогда к объекту можно будет обращаться — например, написать что-либо, открыть новый файл, сохранить и т.п.

    Обратите внимание, что в Windows от Vista и старше есть контроль учётных записей пользователя, который не всякую программу позволит запустить, для чего возможно придется запускать PHP из-под системного пользователя или админа.
     
    Последнее редактирование: 6 дек 2015
  3. jennilogan

    jennilogan Писатель

    Регистр.:
    7 ноя 2015
    Сообщения:
    2
    Симпатии:
    0
    exec ('W: \ ASA \ scan \ start \ start.bat');
     
  4. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    196
    А пробелы в путях нахрена наставили? А вывод результата где?
    ТС же пишет, что так НЕ РАБОТАЕТ?