Robert B.: Problem mit .bat Datei die über php ausgeführt wird

Beitrag lesen

Hallo pl,

ich präzisiere: Vielleicht ist das working directory von findstr nicht das Verzeichnis, in dem sich die Textdatei befindet.

findstr.exe gehört zu den Kommandozeilenprogrammen die normalerweise in \windows\system32 abgelegt sind. Es ist nicht Sinn und Zweck von Kommandozeilenprogrammen, diese jedesmal in eine working directory zu kopieren. Vielmehr gibt es dafür eine Umgebungsvariable PATH die es ermöglicht, ein Kommandozeilenprogramm in dem Verzeichnis aufzurufen, in dem es gerade gebraucht wird.

Und genau dieses Verzeichnis, in dem es gerade gebraucht wird, heißt working directory. Das Programm kann dieses mit Hilfe seiner Standardbibliothek ermitteln, z.B. pwd in der Unix-Shell, getcwd in C, mittels der Umgebungsvariablen %CD% unter Windows, mit dem Perl-Modul Cwd, …

In einer Batch~Datei sollte man Kommandozeilenprogramme stets mit der vollständigen PFadangabe notieren. Das gilt übrigens auch für die crontab~Datei unter Linux & CO.

Ja, weil man sich nicht auf den $PATH verlassen kann.

Viele Grüße
Robert