2011-01-13 6 views
0

Ich habe eine Batch-Datei bekam das tat:In einer Batchdatei, die php über Start aufruft, wie protokolliert man die Ausgabe?

php-cgi runfile.php >> log.txt 
php-cgi runfile2.php >> log.txt 

, die die erste und herausgeschoben hte Ausgang in die log.txt dann genannt runfile2 und schob in die log.txt

richtig lief aber dann änderte ich es so, dass es beide Skripte gleichzeitig auf separaten Prozessen starten würde, so dass das zweite Skript nicht warten müsste; wie:

start php-cgi runfile.php >> log.txt 
start php-cgi runfile2.php >> log.txt 

Was erlaubt die Skripte korrekt laufen (denke ich); aber die log.txt zeigt keine Ausgabe.

Irgendwelche Ideen?

Danke, Mike

Antwort

1

Das ist für mich gearbeitet:

log.bat

start /B dir C:\ >> log1.txt 
start /B dir C:\WINDOWS >> log2.txt 
+0

Würde das wie sein: start/B php-cgi runfile.php >> log.txt? – Mike

+0

Ich gehe davon aus. Ich habe kein PHP-CLI, also kann ich nicht die richtigen Tests machen. Der '/ B' Schalter ist der Unterschied, der es mit meinem Beispiel arbeiten ließ. Ohne den Switch würden die Protokolldateien nicht erstellt. – drudge

1

Es wirkt wie ein Zauber. Ich habe eine Reihe von:

start C:/[path_to_php]/php -f C:/[path_to_scrip1].php > C:/[path_to_log1].txt  
start C:/[path_to_php]/php -f C:/[path_to_scrip2].php > C:/[path_to_log2].txt 

und es funktionierte nur wie:

start /B C:/[path_to_php]/php -f C:/[path_to_scrip1].php > C:/[path_to_log1].txt 
start /B C:/[path_to_php]/php -f C:/[path_to_scrip2].php > C:/[path_to_log2].txt 

So dank jnpcl.

Verwandte Themen