私は高低を検索しましたが、私が見つけたすべての提案やヒントは何らかの理由で動作しません。出力が既にリダイレクトされているバッチファイル内のコマンドから出力をリダイレクトしますか?
cmd /C "automateMyProgram.bat >> automation.log 2>>&1"
素晴らしい作品:automation.logがその特定のバッチファイルのすべてのstdoutとstderrにロードされる私は、次のような呼び出されているバッチファイルを持っています。しかし、私は次のコマンドを持つバッチスクリプト内:
start php updateDB.php param1 param2 ^> updateDB.log
PHPスクリプトはうまく実行されますんやパラメータにうまく読み込みが、updateDB.logが作成されることはありません。私は、php.iniファイルのPHPエラー報告がコマンドラインインターフェースにエラーを出力するように設定されていることを確認しました。 PHPスクリプトには、ログに記録する必要があるecho文がいくつかありますが、何らかの理由で出力されていません。私は、プログラムを起動するためにstartコマンドを使用する場合は、プログラムが新しいプロセスで開始されているので、出力をリダイレクトするためにキャレット演算子を使用する必要があることを読んでいます。私も試しました:
start php updateDB.php param1 param2 >> updateDB.log
そしてそれもうまくいきませんでした。だから私は、試してみました:
start /B "Database Update" "php" "param1" "param2" >> updateDB.log
、それは、バッチファイル内から動作しませんでしたが、それは私がコピーしたときにやったとデスクトップ上のcmdウィンドウに直接貼り付けます。
バッチファイルから呼び出されているPHPスクリプトの出力をどのようにリダイレクトすることができますか?
あなたの時間と助けてくれてありがとう!
ありがとうございました! – ariestav
+1出力のリダイレクトにも問題がありました。 'start app.exe param> log 2>&1'を実行します。あなたのソリューションは動作します、ありがとう! – psur