> automation.log 2>>&1" -6ren">
gpt4 book ai didi

php - 重定向输出已重定向的批处理文件中命令的输出?

转载 作者:可可西里 更新时间:2023-11-01 14:52:07 26 4
gpt4 key购买 nike

我到处搜索,但我发现的所有建议和提示都出于某种原因不起作用。我有一个被调用的批处理文件:

cmd /C "automateMyProgram.bat >> automation.log 2>>&1"

效果很好:automation.log 加载了该特定批处理文件的所有标准输出和标准错误。但是,在该批处理脚本中,我有以下命令:

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 脚本的输出吗?

感谢您的宝贵时间和帮助!

最佳答案

这可能是最简单的解决方案:

start cmd /c "php updateDB.php param1 param2 > updateDB.log"

或者,如果您想在 updateDB.log 中包含错误消息,

start cmd /c "php updateDB.php param1 param2 > updateDB.log 2>&1"

关于php - 重定向输出已重定向的批处理文件中命令的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com