我有windows批处理文件,它也在任务调度程序中调度。
任务计划运行正常,但windows批处理文件无法执行
它在一个php文件中。我正在学习php和windows批处理文件是编码以前的雇员。
下面的代码是我从windows批处理文件中提取的。路径是正确的,-f的作用是什么?你能纠正我的代码吗。
发布于 2015-06-29 21:31:40
命令行选项列表可在此处http://php.net/manual/en/features.commandline.options.php中找到
在本例中,-f代表解析和执行文件
发布于 2015-06-29 21:44:02
将您的批处理更改为如下所示:
@ECHO ON
echo Before php %TIME% %DATE% >> C:\temp\task.log
C:
Cd \www2
C:\PHP5.3\php.exe -f "C:\www2\cron.php" >> C:\temp\task.log
echo After php %TIME% %DATE% >> C:\temp\task.log只要你在一行上有echo命令和php解释器的调用,这只会在屏幕上输出一个无意义的文本。
第一个回显是用来帮助您诊断问题的:如果正在调用计划任务,您将在task.log中看到此记录。
为了确保工作目录设置为C:\www2 (cron.php将在那里查找文件,除非使用完整路径进行寻址),我们在运行php之前切换到该目录。
如果php打印任何错误消息或信息,我们会将输出重定向到相同的日志中,否则您将看不到这一点。您应该不时地删除该日志,因为它可能会显著增加。您可以自行决定要保留或删除哪些日志语句;-)您甚至可以让日志按大小滚动,我打赌这里有问题,这将向您展示如何做到这一点;-)
https://stackoverflow.com/questions/31116989
复制相似问题