Michael Schröpl: Externe Programme aufrufen und beenden?

Beitrag lesen

Hi Torsten,

ich möchte über meine PHP-Oberfläche ein bestimmtes Programm (.bat)

meine Windows-Architekturkenntnisse sind eher spärlich, aber ich vermute
folgendes:

Eine Batch-Datei ist eben _kein_ "Programm" (also keine Datei, welche
Maschinencode enthält und vom Betriebssystemlader ausgeführt werden kann),
sondern ein "Skript", also eine zunächst einmal ganz normale ASCII-Datei,
welche erst dann eine Bedeutung bekommt, wenn ein darauf spezialisiertes
Programm gestartet wurde und diese Datei einliest und interpretiert.

Dieses Programm wäre in Deinem Falle - je nach Windows-Dialekt - eine
passende Shell, beispielsweise "command.com". Probier mal, diese per "exec"
zu starten und ihr als Parameter den Pfadnamen Deines Skript zu übergeben.

Daß Du auf Betriebssystemebene eine Batch-Datei einfach durch Doppelklicken
"starten" kannst, liegt daran, daß die entsprechende Umgebung (z. B. der
Windows-Explorer) die Verknüpfung zwischen der Endung ".bat" und dem dazu
passenden Interpreter "command.com" kennt und selbst das richtige Programm
startet. Die "exec"-Funktion von PHP ist aber kein Windows-Explorer ...

Viele Grüße
      Michael